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插入
匹配行内容上一行插入内容
匹配内容下一行插入内容
匹配内容改写