Linux 大量 取代 置換 檔案中的字串

sed的用法真的很玄妙,速度也很快。

如果想要把找出的檔案中的特定字串 就這樣下

find ./ -name "*"  -type f -exec sed -i 's/ \"General\" / \"0G\"/ ' {} \;

find ./ 就是尋找這目錄 及其子目錄 下面的所有檔案
-name 則是指定檔案名稱,*則代表我什麼都想要找。 (注意這連.svn的檔案內容都會改到,整個svn後來都變得很奇怪,所以覺得應該不能這樣用)
最好應該是要指定想要尋找的檔案類型,比方說”*.sh” or “*.c” 之類的

-type 檔案類型,我也不知道這個差在哪,f就是代表檔案類型是”檔案” Orz

sed -i ‘s/希望被取代的字串/ \想要取代成的字串/ ‘  -i 就是代表直接更改檔案,其實很刺激危險XD
這邊的反斜線\是為了讓這指令去尋找包含雙引號的字串,而不是只有General,所以需要跳脫字元。

-exec 國國國國國 {} \; 國國國國國 代表你想要執行的東西,在這邊就是sed的那串~

266 Views


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *