p==print
d:delete
=:打印匹配行的行号
-n 取消默认的完整输出,只要需要的
-e 允许多项编辑
-i 修改文件内容
-r 不需要转义
只打印第三行
sed -n '3p' /var/log/yum.log
只查看文件的第3行到第9行
sed -n '3,9p' /var/log/yum.log
过滤特定字符串,显示正行内容
sed -n '/root/p' yum.log
显示包含"hhh"的行到包含"omc"的行之间的行
sed -n '/hhh/,/omc/p' yum.log
打印1-5行,并显示行号
sed -n -e '1,5p' -e '=' yum.log
打印匹配行的内容和行号【相当于后面又根据关键词查询了一次】
sed -n -e '/root/p' -e '/root/=' yum.log
用world 替换yum.log文件中的root【-i:编辑文件 s==search 查找并替换 g==global 全部替换】
sed -i 's/root/world/g' yum.log
打印最后一行
sed -n '$p' yum.log
在文件第一行添加happy,文件结尾添加new year
sed -e '1i happy' -e '$a new year' yum.log(仅显示)
sed -i -e '1i happy' -e '$a new year' yum.log(会真实写入)
在文件第一行到第四行的每行下面添加hahaha
sed '1,4i hahaha' yum.log
删除第3到第9行,只是不显示而已
sed '3,9d' /var/log/yum.log
删除包含"hhh"的行到包含"omc"的行之间的行
sed '/hhh/,/omc/d' /var/log/yum.log
删除包含"omc"的行到第十行的内容
sed '/omc/,10/d' yum.log
从5到10行里匹配root,把行内所有的root替换为FTL,并打印到屏幕上
sed '5,10 s/root/FTL/g' yum.log(仅显示)
sed -i '5,10 s/root/FTL/g' yum.log(会真实写入)
删除1到5行后,替换reboot为shutdown
sed -e '1,5d' -e 's/reboot/shutdown/g' yum.log
打印3到6行的内容,并匹配reboot替换为shutdown
sed -n -e '3,6p' -e 's/reboot/shutdown/g' yum.log
-r命令是读命令。sed使用该命令将一个文本文件中的内容(test.txt)加到当前文件(yum.log)的特定位置(找到root下一行写入)上
sed '/root/ r /var/log/test.txt' yum.log(仅显示用)
-w是写入命令【yum.log匹配root后写入root.txt',真实写入】
sed '/root/ w /home/omc/root.txt' yum.log
#0https://www.cnblogs.com/ftl1012/p/9250171.html