原創?我還自己轉檔、自己上傳咧XDDD

沒辦法,Linux沒那麼多工具,只好自己寫Orz,
windows的工具很多,google就有一大堆,不要浪費時間齁XD (這個程式花了我20分鐘有....><)

程式碼如下:

grep "123" -Rn ./ | awk -F: '{print $1}' | xargs sed -i 's/123/asdf/g'

搜尋本目錄下所有含有123字串的檔案,並取代成asdf

不寫一下怎麼做的,我一定會忘記...
弟一段是找出所有含123字串的檔案,
接下來用awk拆出檔案,因為awk預設以空白和tab字元作為區隔,grep用冒號,所以必須指定-F
再來xargs是把一行當作一個參數傳給sed用,
sed -i是說直接修改檔案。

這個程式有個致命的缺點就是檔案會被掃兩次,一次是grep,一次是sed,
再來研究一下xargs怎麼傳兩個參數過去,讓sed只做某行就好

為什麼要寫這個程式?因為自作孽... =.=
把moinmoin更新到新版之後就挫了,之前的theme用widget,但是不支援新版的,
而且每個使用者的theme都有寫入設定檔,我只好一個一個幫他們拔掉用預設的....
如果今天moin是用mysql當資料庫的話,這篇可能會變成SQL語法 XDDD

關鍵字:linux, grep, awk, sed, xargs, 多重取代

創作者介紹

koukai的Blog

koukaipan 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • google 很久的人
  • 哇~版大! 太感恩了~~~
    鳴...感謝你無私的分享!
    解決了我的難題~謝謝