Linux下批量替換文件內容和文件名(轉)


1、批量替換指定多個文件的文件內容

在指定目錄/your/path里,查找包含old_string字符串的所有文件,並用new_string字符串替換old_string字符串。

sed -i "s/old_string/new_string/g"  `grep old_string -rl /your/path`  

2、批量修改指定多個文件的文件名

在指定的路徑/your/path下,查找以old_name字符串開頭的所有文件,並以new_string替換掉old_string字符串。 

find /your/path -name 'old_name*' | xargs -i echo mv \"{}\" \"{}\" | sed 's/old_name/new_name/2g' | sh  

實例:

find $PWD -name '\[www.java1234.com\]*' | xargs -i echo mv \"{}\" \"{}\" | sed 's/\[www.java1234.com\]/""/2g' | sh

說明:xargs提取查找的內容為參數,-i用於{}的提取,並提取到到指定變量{},echo是為了純文本輸出后面的mv命令,其中{}為變量,sed命令為文本編輯命令,其中可以執行s的替換,后面2g表示替換第二個匹配項。在使用時注意路徑的空格和字符串轉義。

 

參考:

http://blog.csdn.net/segments/article/details/50977693


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM