Linux之文本三剑客

news2024/11/25 15:12:36

Linux之三剑客

Linux的三个命令,主要是用来处理文本,grep,sed,awk,处理日志的时候使用的非常多

1 grep

对文本的内容进行查找

1) 基础用法

语法
grep 选项 内容|正则表达式 文件

选项:
-i  不区分大小写
-v  排除,反选
-n  显示行号
-c  统计个数


查看文件里包含有的内容
[root@localhost opt]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

查看内容不区分大小写
[root@localhost home]# grep -i 'root' a.txt 
root
ROOT

查看内容不包含有root
[root@localhost home]# grep -v 'root' a.txt 
ROOT
asdsad
43543543
/'.;.'

查询root显示行号
[root@localhost home]# grep -n 'root' a.txt 
1:root
6:root

查看包含有root行的个数
[root@localhost home]# grep -c 'root' a.txt 
2

2) 正则表达式

  • 基础正则表达式
正则表达式作用
^以xxx开头
$以xxx结尾
^$匹配空行
.任意一个字符
\转义字符
*前面的字符出现0-n次
.*匹配所有字符
[]只能是[]里的字符中任意一个
[^]非[]里的字符
  • 拓展正则表达式

egrep ‘拓展正则’ 文件名

正则表达式作用
|
+前面的字符出现1-n次
?前面的字符出现0次或1次
()把括号里的内容整体匹配
{m,n}前面的字符至少出现m次,最多出现n次
  • perl正则

grep -P ‘perl正则’ 文件名

正则表达式作用
\d所有的数字
\s空白字符
\w数字字母_

案例

查看/etc/sysconfig/selinux里不包含空行和注释信息

[root@localhost home]# egrep -v '^$|#' /etc/sysconfig/selinux 
SELINUX=disabled
SELINUXTYPE=targeted

2 sed

1) 概述

sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换、添加、移动等),最后输出所有行或者仅输出处理的某些行。

2) 语法

sed 选项 操作 文件

3) 查看

查看所有内容
sed -n 'p' 文件名

查看第3行内容
sed -n '3p' 文件名

查看第3-5行内容
sed -n '3,5p' 文件名

查看偶数行内容
sed -n 'n;p' 文件名

查看奇数行内容
sed -n 'p;n' 文件名

查看包含有root内容的行
sed -n '/root/p' 文件名

查看包含有a至包含有b的所有内容行
sed -n '/a/,/b/p' 文件名

案例:查看tomcat日志中的2023年6月1日的日志

[root@localhost opt]# sed -n '/2023-06-15/p' logsp2p.log

4) 运行过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5) 新增

a:往指定的行下追加内容

sed '3a 内容' 文件名 

c:往指定的行替换成新的内容

sed '3c 内容' 文件名 

i:往指定的行前插入内容

sed '3i 88 aaaaaaaaa' a.txt

如果想要修改源文件需要在选项使用-i

sed -i '3i 88 aaaaaaaaa' a.txt


[root@localhost home]# cat a.txt 
1 asdsadsadsa
2 asdasdsafdg
88 aaaaaaaaa
3 trytuytuyt
4 jhlkjlklj
5 32r3r43t
6 gjuku
7 gjukiuk
8 kiulkiul
9 wdewfew

6) 删除

删除指定的行
[root@localhost home]# sed '3d' a.txt 
1 asdsadsadsa
2 asdasdsafdg
4 jhlkjlklj
5 32r3r43t
6 gjuku
7 gjukiuk
8 kiulkiul
9 wdewfew

删除包含有内容的行
sed '/内容/d' 文件名

[root@localhost home]# sed '/1/d' a.txt 
2 asdasdsafdg
3 trytuytuyt
4 jhlkjlklj
5 32r3r43t
6 gjuku
7 gjukiuk
8 kiulkiul
9 wdewfew

[root@localhost home]# sed '/1/,/6/d' a.txt 
7 gjukiuk
8 kiulkiul
9 wdewfew

3 awk

取文本的行或列内容

语法

awk [-F '指定字符'] "{print 列|行}" 文件名
-F省略不写的时候.默认是以空白字符拆分


取列
awk '{print $0}' a.txt   以空白字符拆分  取列
$0 所有的列
$1 取第一列
$2 取第二列
......
$NF 取最后一列
$(NF-1) 取倒数第二列


取行
awk 'NR==行数' 文件名
NR 当前处理的行号

取1-6行
awk 'NR>=1 && NR<=6' 文件名        
&&|| 或


取行列
awk -F ':' '$3>=500{print$3}' 文件名


awk -F ':' '{print $3}' /etc/passwd | awk '$0>=500'

[root@localhost home]# awk -F ':' '$3>=500{print $3}' /etc/passwd
999
998

注意:条件筛选时使用单引号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1893928.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rtsp地址 + 测试网站 + java(免环境、免插件、零编码转换http播放)

目录 1、创建rtsp网站 2、测试rtsp网站 3、Java实现rtsp播放 ①maven添加依赖 ②访问http地址即可展示视频内容 1、创建rtsp网站 填写邮箱即可获得两个可用的rtsp网站&#xff08;每月可免费用2G&#xff09;&#xff1a; https://rtsp.stream/ 2、测试rtsp网站 测试网络…

k8s kubectl top pod报错error Metrics API not available

文章目录 1、场景2、解决方法1、确认Metrics Server是否已经在集群中安装2、安装metric-server组件2.1、组件地址2.2、组件与K8S集群版本对应关系2.3、apply资源清单文件2.4、验证Metrics Server正常工作 1、场景 在使用kubectl top pod 命令时遇到了error: Metrics API not a…

人力资源中的人工智能:你应该知道的一切

人工智能已经成为行业讨论更广泛的突出话题。人力资源(HR)对于人力资源专业人士来说&#xff0c;了解这门课程也是如此。除了简要介绍什么是人工智能&#xff0c;以及你可能遇到的主要人工智能类型(或者你可能很快就会遇到它&#xff01;)此外&#xff0c;本文还将探讨人工智能…

工业智能网关在现代工业生产中的重要性-天拓四方

工业智能网关是一款具备挖掘工业设备数据并接入到自主开发的云平台的智能嵌入式网络设备。它具备数据采集、协议解析、边缘计算&#xff0c;以及4G/5G/WiFi数据传输等功能&#xff0c;并能接入工业云平台。这种网关不仅支持采集PLC、传感器、仪器仪表和各种控制器&#xff0c;还…

公用对象池

什么是对象池&#xff1f; 对象池顾名思义就是存放对象的池子&#xff0c;主要是为了重复利用对象。将不用的对象扔进池子里&#xff0c;需要用的时候再从池子中取出来。这样的一套机制我们称为对象池。 为什么用对象池&#xff1f; 其实从定义我们就可以看出来&#xff0c;…

基于矩阵分解算法的评分预测实现---信息检索课设以及所涉及的深度学习原理

一、实验环境 Windows,Python 3 Python作为主要编程语言,使用Python的Pandas、NumPy、Matplotlib等库 二、实验内容 主要任务 查阅相关资料,了解矩阵分解算法的基本概念、应用场景及其难点。重点了解SVD(Singular Value Decomposition,奇异值分解)系列方法。掌握Pyth…

2023年的Facebook营销:超级完整指南

Facebook营销不是可选的&#xff0c;是必须的。Facebook是世界上使用最多的社交平台&#xff0c;每天吸引22.9亿活跃用户。 它也不全是度假照片和虚张声势。对于53.2% 的 16-24 岁互联网用户&#xff0c;社交媒体是他们进行品牌研究的主要来源。而且&#xff0c;66% 的 Facebo…

红黑树插入删除流程(流程图)

红黑树插入删除流程&#xff08;流程图&#xff09; 红黑树性质 左根右(二叉树&#xff09;根叶黑&#xff08;根节点是黑色的&#xff09;不红红&#xff08;不存在相邻两个红色节点&#xff09;黑路同&#xff08;对于每个节点&#xff0c;从该节点出发到任一空叶节点所经过…

学会python——用python制作一个登录和注册窗口(python实例十八)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.登录和注册窗口 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读…

tapd 与国内外主流的8大项目管理软件大对比

对比Tapd与8大项目管理工具&#xff1a;PingCode、Worktile、Redmine、Teambition、广联达、Jira、禅道、飞书。 Tapd 是腾讯推出的一款敏捷开发管理工具&#xff0c;特别适合那些需要高效协作和快速迭代的敏捷开发团队。它支持多种敏捷方法论&#xff0c;包括Scrum和Kanban&am…

二轴机器人装箱机:重塑物流效率,精准灵活,引领未来装箱新潮流

在现代化物流领域&#xff0c;高效、精准与灵活性无疑是各大企业追求的核心目标。而在这个日益追求自动化的时代&#xff0c;二轴机器人装箱机凭借其较佳的性能和出色的表现&#xff0c;正逐渐成为装箱作业的得力助手&#xff0c;引领着未来装箱新潮流。 一、高效&#xff1a;重…

字节码编程ASM之生成变量并sout

写在前面 本文看下如何通过asm生成变量并sout。 1&#xff1a;代码 直接看代码吧&#xff0c;注释很详细&#xff0c;有不懂的&#xff0c;留言告诉我&#xff1a; package com.dahuyuo.asmtest;import org.objectweb.asm.*; import org.objectweb.asm.commons.AdviceAdapt…

PE文件学习

一、介绍 PE文件&#xff0c;即Portable Executable文件&#xff0c;是一种标准的文件格式&#xff0c;主要用于微软的Windows操作系统上。这种格式被用来创建可执行程序&#xff08;如.exe文件&#xff09;、动态链接库&#xff08;.DLL文件&#xff09;、设备驱动&#xff0…

千万不要用国产BI,不然你会发现它性价比奇高——以奥威BI软件为例

在信息技术日新月异的今天&#xff0c;企业对于商业智能&#xff08;BI&#xff09;软件的选择往往陷入了一个误区&#xff1a;盲目追求国际品牌&#xff0c;却忽视了身边那些性价比极高的国产精品。如果你不慎踏入了“千万不要用国产BI”的陷阱&#xff0c;那么奥威BI软件将是…

豆包Marscode体验官,体验云编程和AI助手加持的快乐

我正在参加「豆包MarsCode初体验」征文活动&#xff0c;活动链接&#xff1a;https://juejin.cn/post/7384997062416252939?utm_sourcejuejin&utm_mediumpush&utm_campaigntiyanguan Marscode官网地址&#xff1a;工作台 - MarsCode 其实早在前不久&#xff0c;我就…

谷歌地图 | 路线优化 API 助力企业解锁物流新潜能

在当今竞争激烈的市场环境中&#xff0c;企业面临着越来越大的压力&#xff0c;需要提高运营效率、降低成本并满足不断增长的客户期望。对于依赖车队进行交付或服务的企业来说&#xff0c;这些挑战尤为艰巨。 近日&#xff0c; Google 地图平台路线优化 API 已经正式上线。路线…

服务器工具集合推荐

推荐一个朋友开源的服务器运维整合工具,目前的功能包括: ddns&#xff0c;rdp、ssh终端、ftp、http代理&#xff0c;支持在线文件编辑&#xff0c;文件管理&#xff0c;docker&#xff0c;进程&#xff0c;系统监控、wol唤醒&#xff0c;电脑远程开机&#xff0c;点对点&#…

【STM32】在标准库中使用DMA

1.MDA简介 DMA全称Direct Memory Access,直接存储区访问。 DMA传输将数据从一个地址空间复制到另一个地址空间。当CPU初始化这个传输动作&#xff0c;传输动作本身是由DMA控制器来实现和完成的。DMA传输方式无需CPU直接控制传输&#xff0c;也没有中断处理方式那样保留现场和…

科普文:Linux服务器性能调优之CPU调度策略和可调参数

概叙 进程 进程是操作系统虚拟出来的概念&#xff0c;用来组织计算机中的任务。计算机的核心是CPU&#xff0c;它承担了所有的计算任务&#xff1b;而操作系统是计算机的管理者&#xff0c;它负责任务的调度、资源的分配和管理&#xff0c;统领整个计算机硬件&#xff1b;应用…