1. 程式人生 > >ubuntu上按檔名查詢並替換檔案內容

ubuntu上按檔名查詢並替換檔案內容

向ubuntu上進行開發或者部署,有可能遇到對某一個目錄下各級子目錄中有可能存在的某些檔案內容進行替換,比如替換某些檔案中的某一個字串。

要實現這個功能,有多種實現方式,比如可以寫一個指令碼檔案遍歷指定目錄下的各級子目錄,並對目錄中符合指定條件的檔案進行內容替換處理。

ubuntu一類的linux系統的一個強大之處就強大的指令碼命令以及通過管道等方式組合使用多種指令碼命令實現使用者的某些處理需求。

對於本例,可以使用一行程式碼完成上述要求,如下:

find . -type f -name test | xargs sed -i 's/oldStr/newStr/g'

上述命令中,oldStr是檔案中原有需要替換的字串,newStr表示用來替換原有字串的新字串,這兩個引數使用者根據需要指定。

這裡需要注意的是,如果如上述例子那樣,指定檔案的完整名稱,需要加上-type f引數,這表示只對(普通)檔案進行處理,對於同名的資料夾等不做處理。

find命令也可以通過萬用字元以及其他命令引數對指定檔案進行過濾,比如查詢具有某一字尾名的檔案等。