1.批量修改文件内容
1.1perl:
perl -pi.bak -e "s/aa/bb/g" file
#p:隐式循环遍历指定的文件
#i.bak:i为原位编辑,即直接修改文件内容,.bak是备份成bak后缀的文件
#如果想对特定的文件进行修改,可以:
find . -name "*sv" |xargs perl -pi.bak -e "s/aa/bb/g"
perl -pi.bak -e "s/aa/bb/g" `find . -name "*sv"`
1.2sed [options] RE file:
sed -i.bak "s/aaa/bbb/g" file
options:
-n:安静模式,不打印遍历的文件内容;
-i:原位修改文件内容,-i.bak备份为bak后缀的文件再修改文件内容
-e:支持执行多个命令,如sed
-n -e
'3,6p'
-e
's/reboot/shutdown/g'
yum.log,打印3~6行内容并修改字符
RE中的flag为p时,打印匹配的行,如sed -n "s/aaa/bbb/p" file,会把含aaa的行打印;
具体参考sed详细用法