Linux三剑客
grep
grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep的选项
-n:打印行号
-A(after):打印过滤内容的前N行
-B(before):打印过滤内容的后N行
-C(center):打印过滤内容的前后N行
-E:支持扩展正则 egrep就是grep -E
-v:取反
-o:只打印匹配到的内容
-w:精确匹配
-P:支持Perl正则
-i:忽略大小写
-r:递归检索文件中的内容
-R:递归检索文件中的内容,包括软链接文件
-l:只显示文件名
-h:只显示文件内容
-f:对比文件内容,内容少的文件放在签名,内容多的文件放在后面在取反看不同的文件内容
-c:统计行数 类似与wc -l
-G:支持基础正则
-m:显示前N行内容 类似于head -N
sed
sed对文本的处理很强大,并且sed非常小,参数少,容易掌握,他的操作方式根awk有点像。在sed中,我们的核心内容主要分为四个部分
增
删
改
查
还有模式空间与保存空间
sed命令执行流程
执行一个查询命令后,sed做的事情
1.先是按行读取内容
2.每读取一行内容,都会进行一次判断,判断是否是你想要的行
3.如果不是,则判断是不是加了-n选项
4.如果加了-n,就读取下一行
5.如果没加-n,就会将所有内容输出到命令行(默认输出)
6.如果是你想要的行则判断执行的后续动作(p d s a i c)
7.动作处理完成后,输出指定的内容
8.即使内容输出出来了,sed也会继续往后读直到文件的最后一行
sed选项与动作
sed命令选项
选项含义
sed命令动作
动作含义
-n
取消默认输出
p(print)
打印
-r
支持扩展正则
d(delete)
删除
-i
直接修改文件
a(append)
追加
i(insert)
插入
c(replace)
替换
sed命令-查
[root@m01 ~]
ba:123 123
bb:222 123
babs
1234
OOX
o
[root@m01 ~]
babs
[root@m01 ~]
ba:123 123
bb:222 123
babs
[root@m01 ~]
ba:123 123
babs
[root@m01 ~]
ba:123 123
bb:222 123
babs
[root@m01 ~]
ba:123 123
bb:222 123
babs
1234
[root@m01 ~]
ba:123 123
babs
OOX
sed命令-删
[root@m01 ~]
ba:123 123
babs
1234
OOX
o
[root@m01 ~]
ba:123 123
bb:222 123
babs
1234
OOX
sed命令-增
[root@m01 ~]
ba:123 123
bb:222 123
xxx
1234
OOX
o
[root@m01 ~]
ba:123 123
bb:222 123
babs
1234
OOX
o
xxx
[root@m01 ~]
ba:123 123
bb:222 123
babs
1234
OOX
xxx
o
sed命令-改
[root@m01 ~]
aa:123 123
bb:222 123
aabs
1234
OOX
o
[root@m01 ~]
ba:777777777 777777777
bb:777777777 777777777
babs
777777777777
OOX
o
[root@m01 ~]
172.16.1.61
sed的模式空间
sed命令逐行处理文件,将当前处理的行写入模式空间进行处理,sed在该行上执行完所有命令后将处理好的行打印到屏幕上,sed处理完一行就将其从模式空间删除,然后将下一行内容写入模式空间中。sed读取文件内容不会将换行符一起读进去,需要加N
N:在读取文件时,让sed把下一行内容读进去
[root@m01 ~]
ba:123 123 bb:222 123 babs 1234 OOX o
[root@m01 ~]
ba:123 123 bb:222 123 babs 1234 OOX o
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具