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 .