1. 程式人生 > >linux在資料夾中查詢檔案包含的字串,並進行相應的替換

linux在資料夾中查詢檔案包含的字串,並進行相應的替換

說明如下:要在一個目錄中,查詢所有檔案中包含的字串AAA,找出檔案,並用BBB進行替換掉。

#grep -r AAA ./                                 #表示在當前目錄中遞迴查詢包含AAA的檔案。

#grep -rl AAA ./                                #只列出包含AAA字串的檔名字。

#sed -i   's/AAA/BBB/g' filename                                   #針對一個檔案作替換的命令: sed -i 's/AAA/BBB/g' filename.

sed -i 's/AAA/BBB/g' `grep -l AAA ./`(注意這裡的``號,為~下邊的那個符號)

若要使用vi進行單個檔案的替換可用如下命令:

:1,$s/AAA/BBB/g                 #AAA是要替換掉的字串用BBB來替換,1,代表從第一行起,g表示到最後。


1. set命令可以顯示出當前shell下所有全域性參量定義及其值;
2. 查詢並刪除當前目錄下小檔案:
find . -type f -size -10k -exec rm {} \;
說明:
-type f 查詢檔案
-size -10k,
小於10k的。"+"是表示要求系統只列出大於指定大小的檔案,而使用"-"則表示要求系統列出小於指定大小的檔案。
3. 遍歷資料夾grep一個字串
find . -name "*c" | xargs grep "strings"

在當前資料夾下所有c檔案中查詢字串“string”

4. 在某目錄下檔案中查詢某字串
grep -r youcode dir
例如:查詢home下檔案中查詢hello
grep -r hello /home

例如:在當前所有目錄下檔案中查詢hello,不區分大小寫
grep -ir hello .