sed能做什么?
它是一个管理命令,可以分析标准输入。还可以将数据进行替换、删除、新增、选取特定行等功能。
一、删除行操作
nl passwd | sed '2,5d’
d:删除第2到5行;
nl passwd | sed -e '2d’
d:删除第2行;
nl passwd | sed -e '2,$d’
d:删除第2到最后一行;
二、追加行操作
nl passwd | sed '2a drink tea’
a:追加在第2行后(就是第3行)"drink tea"字样;
如果要追加多行,每行之间必须要以反斜杠‘\’来进行新行的增加。
三、插入行操作
nl passwd | sed '2i drink tea’
i:在第2行前插入"drink tea"
四、替换行操作
nl passwd | sed '2,5c No 2-5 number’
c:替换第2-5行为“No2-5 number”
五、查看打印行操作
nl passwd | sed -n '5,10p’
p:打印显示指定的行;
-n表示安静模式;
六、查找替换字符串操作
sed 's/要被替换的字符/新的字符/g’
以行为单位,进行部分数据的查找并替换;
例如:
ifconfig ens33 | grep 'inet '|sed ‘s/.*inet //g’|sed ‘s/ netmask.$//g’
七、直接修改文件内容
sed可以直接修改文件内容,而不必使用管理命令或数据流重定向。
sed -i ‘s/.$/!/g’ regular_express.txt
-i:选项可以直接修改文件内容;