[小贴士]sed替换:sed -i.bak -r ‘s/(.+_PW)=[0-9a-z]+/\1=redhat/g’ aa.txt
使用packstack生成应答文件的时候,里面涉及到许多的密码:
现在想把这些密码统一改成redhat的话,可使用:
sed -i.bak -r 's/(.+_PW)=[0-9a-z]+/\1=redhat/g' aa.txt
结果变成了:
讲解:
sed的基本用法:
sed 's/old/new/g' file
a.修改原文件的时候,同时备份一份出来,备份文件后缀为.bak
b.-r的意思是使用扩展正则
c.4和5部分是匹配 “=”号前面含有_PW且等号后面是小写字母及数字组合 的那些行,比如
同时排除了:
这样的行。
d.替换成7部分的值,\1表示old部分中第一个()括起来的部分,也就是4的位置。