方法一:

1.perl命令替换

格式: perl -p -i -e "s/修改的字段/新字段/g" 文件名(别的路径下需加好路径)

perl -p -i -e "s/func_nmap_check_ip/func_arp_nmap_check_ip/g"  pre-commit-framework/test_server/minifw/test/case/kvm_common.sh test.txt

说明:将pre-commit-framework/test_server/minifw/test/case/kvm_common.sh与当前目录下下的test.txt中func_nmap_check_ip修改为func_arp_nmap_check_ip

注:

-a    自动分隔模式,用空格分隔$_并保存到@F中。相当于@F = split ”。分隔符可以使用-F参数指定
-F    指定-a的分隔符,可以使用正则表达式
-e    执行指定的脚本。
-i<扩展名>   原地替换文件,并将旧文件用指定的扩展名备份。不指定扩展名则不备份。
-l    对输入内容自动chomp,对输出内容自动添加换行
-n    自动循环,相当于 while(<>) { 脚本; }
-p    自动循环+自动输出,相当于 while(<>) { 脚本; print; }

方法二:

2.sed命令下批量替换文件内容

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名

注:

-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除