shell命令篇sed

脚本加锁,避免多实例重复运行,常用于备份脚本中

flock -xn "/tmp/f.lock"  -c "/root/a.sh"

find

find /etc/ -type f -regex .* wd    查看类型为文件且以wd结尾的文件

-d 文件夹

find *txt -exec rm -v {} \ ; 找到以txt结尾的文件并执行删除命令。

grep 字符串分割

grep pass /root/anaconda-ks.cfg | cut  -d " " -f 1       取匹配pass 字符以空格分割后第一的参数

 

sed 

sed  's/a/aa/' afile    将文件内容a替换为aa不改变原文件内容

 sed -e 's/a/aa/'  -e 's/aa/bb/' afile 多次替换文件内容

 

sed  -i 's/a/aa/;s/aa/bb/' afile 替换文件内容并修改原文件

 

* 代表b出现的次数,不代表所有字符

 

+ 代表b出现1次或多次

 

?代表b 出现0次或1次

 

 | 匹配a或b

 

回调

 sed 替换命加强版

全局替换

全局替换和执指定次数匹配

 

只显示替换成功的行

 

将替换成功内容写入指定文件

 

标志位

寻址

head  -6 /etc/passwd | sed '1,3s/adm/!/'              1-3行内替换adm为!

head -6 /etc/passwd | sed  '1,$s/adm/!/'    1-结尾替换adm为!

head -6 /etc/passwd | sed  '/^bin/s/adm/!/'  正则表达式替换adm 为!

分组

sed脚本文件 

。。。。。。

删除指令

 sed插入

匹配行内容上一行插入内容

 匹配内容下一行插入内容

 匹配内容改写

原文地址:https://www.cnblogs.com/Cola886/p/15732547.html