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表示刪除

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