返回列表 发帖

sed命令

根据包含关键字删除一整行:(只要是包含关键字的行,都会被删除,不限行数的)

例子一:
sed -i '/Mary/d' 88.txt
图片1.png
注释:关键字是区分英文大小写的。


例子二:
图片2.png
注释:关键字是区分空格的。


例子三:
图片3.png
注释:如果有多行包含关键字,就变成了批量删除。










把关键字eth0替换为eth1:(如果有多个相同的关键字,就变成了批量替换)
图片4.png

[root@localhost network-scripts]# sed -i 's/eth0/eth1/g' ifcfg-eth0

效果:
图片5.png











一次性删除多个文件中包含某些内容的行:(以下是删除包含8.8.8.8的行)

图片6.png

[root@localhost ~]# key='8.8.8.8'
[root@localhost ~]# find /dir1/11.txt /dir1/22.txt /dir1/33.txt -exec sed -i "/${key}/d" {} \;

图片8.png
注释:/dir1/11.txt、/dir1/22.txt、/dir1/33.txt 都会应用到的。









一次性修改多个文件的某些内容:(以下是修改6.6.6.6为8.8.8.8)

图片9.png

[root@localhost ~]# key='6.6.6.6'
[root@localhost ~]# find /dir1/11.txt /dir1/22.txt /dir1/33.txt -exec sed -i "s/${key}/8.8.8.8/g" {} \;

图片10.png
注释:/dir1/11.txt、/dir1/22.txt、/dir1/33.txt 都会应用到的。





相关文章:
Linux常用命令(二)
CentOS6_DenyHosts
系统安全

返回列表