LINUX 常用替换命令三种方法(perl、shell、sed)

1、perl:find/ls -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

xargs说明:

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

2、shell:grep "abc" * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/abc/abcde/g'

3、sed:sed -i "s | 原字符串 | 新字符串 | g" `grep 原字符串 -r l 所在目录`

注意:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章