Linux查找整個目錄下包含關鍵詞的文件並全局替換文件內容


一、查找目錄下包含關鍵詞的文件:

grep -r "www" ./    #查找當前目錄下包含www的文件名稱及內容

參數:
-i 不區分大小寫。
    比如:
    grep -ri "www" ./  #查找當前目錄下包含www和WWW的文件名稱及內容。
-l 只列出文件的名稱。
    比如:
    grep -ri "www" ./  #查找當前目錄下包含www和WWW的文件名稱。
-L 只列出不匹配條件的文件的名稱。
    比如:
     grep -rLi "www" ./  #查找當前目錄下不包含www和WWW的文件名稱。
-w 只匹配單個單詞,而不是整個字符串或句子。
    比如:
    grep -rw "test" ./   #會匹配到包含test單詞的,不會匹配到包含testwww的內容。

當然,也可以使用通配符 " * " 和開始 " /< " 結束 " /> " 標識符。

grep -r "www*" ./  #通配符*在這里的作用不大,因為默認的就是匹配所有包含關鍵詞的內容。
grep -r "/<www" ./ #只匹配以www為首的字符串,比如www.baidu.com。
grep -r "www/>" ./ #只匹配以www結尾的字符串,比如testwww。

 

二、全局替換文件內容

  這里需要用到linux的命令sed:

  

#替換單個文件下的內容,比如將文件中的"alidata"替換為"data".

sed -i "s/alidata/data/g" test.txt

#替換某個目錄下所有文件中的內容,比如將root目錄下所有文件中的"wwwroot"替換為"www".

sed -i "s/wwwroot/www/g" 'grep -rl wwwroot /root'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM