首页 > 代码库 > linux基础篇-14,sed命令详解
linux基础篇-14,sed命令详解
sed 基本用法
sed:Stream Editor
行编辑器
默认不修改文件内容,仅对模式空间中的数据做处理,处理结束后,将模式空间打印至屏幕
sed [options] ‘AddressCommand’ file ...
-n:静默模式,不显示模式空间中的内容
-i:直接修改原文件
-e:可同时执行多个脚本
-f /PATH/TO/SED_SCRIPT
sed -f /path/to/scripts file
-r:使用扩展正则表达式
d: 删除符合条件的行
p:显示符合条件的行
a:\string:再指定的行后面追加新行,内容为string
\n可以换行
i:\string:在指定的行前面添加新行,内容为string
r FILE:讲指定文件的内容添加至符合条件的行处
w FILE:讲地址指定的范围内的行另存至指定的文件中
s/pattern/string/:查找并替换,默认只替换每行中第一次被模式匹配的行
[root@james ~]# sed s/oot/OOT/ /etc/fstab
s/pattern/string/g 全局替换
i 忽略字符大小写
/// @@@ ###通用
删除前两行
sed ‘1,2d‘ /tmp/text.txt
删除第一个行和最后一行
sed ‘1,$-1d‘ /tmp/text.txt
删除一到最后一行
sed ‘1,$d‘ /tmp/text.txt
删除前三行
sed ‘1,+2d‘ /tmp/text.txt
删除指定行
[root@james ~]# sed ‘2d‘ /tmp/text.txt
删除行里有8的
[root@james ~]# sed ‘/8/d‘ /tmp/text.txt
----------
打印符合条件的行
sed -n ‘1p‘ /tmp/test.txt
本文出自 “James zhan Linux高级运维” 博客,请务必保留此出处http://jameszhan.blog.51cto.com/10980469/1875922
linux基础篇-14,sed命令详解