三剑客-sed

1.概念介绍

作用说明: stream editor for filtering and transforming text
文件处理编辑命令
原理过程: 按照文件每行信息进行处理, 找出符合条件信息, 执行相应操作
语法结构: sed [参数] ‘条件 指令操作’ 文件信息

2.sed命令使用方法

准备环境:cat >person.txt<<EOF
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
EOF

(1)如何查询

a 按照行号查询信息
查找单行信息:sed -n ‘3p’ person.txt
三剑客-sed查找多行信息:sed -n ‘2,4p’ pserson.txt
三剑客-sed查找第2和第4行信息
sed -n ‘2p;4p’ person.txt
三剑客-sed
查找第2行到最后一行信息
sed -n ‘2,$p’ person.txt
三剑客-sed
b 按照字符信息查询
查找单行信息:sed -n ‘/CTO/p’ person.txt
查找多行信息:sed -n ‘/CTO/,/CFO/p’ person.txt
c 如何显示行号
sed ‘=’ person.txt
三剑客-sed

(2)如何删除

sed -i ‘3d’ person.txt(删除第3行)
sed -i.bak ‘3d’ person.txt
(删除第3行,同时在当前路径下生成一个bak的文件备份)
-i -------放在所有参数的后面

(3)如何添加

sed -i ‘1a123456’ person.txt(在第一行后面添加内容)

三剑客-sed
sed -i ‘3iABCD’ person.txt(在第三行前面插入)
在不同位置添加
sed -e ‘1a123456’ -e ‘3iABCD’ person.txt -i
三剑客-sed

(4)如何进行修改

sed -i ‘$s#……#……#g’ person.txt ----在最后一行进行修改
==sed -i “s# $xxx# $xxx#g” person.txt == -----指定变量信息最替换时使用双引号

sed命令应用总结

sed参数总结

-n:取消默认输出
-e:识别多个命令
-r:识别扩展正则
-i:真正修改编辑文件

sed命令指令信息

p:只输出显示指定信息
d:删除指定信息
s:替换指定信息
g:全局替换
a:添加指定信息在相应行后面
i:插入指定信息在相应行给前面
c:将一行信息进行替换修改