1 | sed使用参数 |
以行为单位的新增/删除
将 /etc/passwd 的内容列出并且列印行号,同时,请将第 2~5 行删除!
1 | [root@www ~]# nl /etc/passwd | sed '2,5d' |
在第一行之前加入一行 ‘drink tea’ sed -i "1i drink tea" file.txt
在第一行之后加入一行 ‘drink tea’ sed -i "1a drink tea" file.txt
在n行之前加入一行 ‘drink tea’ sed -i "ni drink tea" file.txt
在n行之后加入一行 ‘drink tea’ sed -i "na drink tea" file.txt
在文件末尾添加一行 ‘drink tea’ echo "drink tea" >> file.txt
如果是要增加两行以上
1 | > nl /etc/passwd | sed '2a Drink tea \ |
以行为单位的替换/显示
将第2-5行的内容替换成『No 2-5 number』 nl /etc/passwd | sed '2,5c No 2-5 number'
仅列出 /etc/passwd 文件内的第5-7行 nl /etc/passwd | sed -n '5,7p'
仅列出 /etc/passwd 文件内的第5行 nl /etc/passwd | sed -n '5p'
数据的搜寻并显示
搜索 /etc/passwd有root关键字的行 nl /etc/passwd | sed -n '/root/p'
删除/etc/passwd所有包含root的行,其他行输出 nl /etc/passwd | sed '/root/d'
数据的搜寻并替换
sed ‘s/要被取代的字串/新的字串/g’
提取本机IP /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g'
直接修改文件内容,sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向
替换文件夹下的所有文件 sed -i 's/Toggle Navigation//g' ls ./ | grep html
查找并替换文件中的内容:sed -i "s/soft/services/g" /etc/profile