【Linux】使用grep在目錄中查詢指定的字符串,然後使用xargs sed替換指定的文本字符串

1、grep使用的命令

1.1 將當前目錄下含有指定字符串的文件名輸出(包括子目錄下)

grep -rnl 'tl486Vgit_TCcaffe/Caffe_solverOriginal/caffe' ./

1.2 展示詳情的命令:

grep -r 'tl486Vgit_TCcaffe/Caffe_solverOriginal/caffe' ./

2、替換指定的字符串

2.1 我們在1.1找到的包含指定字符串的文件名基礎上利用xargs sed命令進行操作,命令如下

xargs sed -i 's/tl486\/git_TCcaffe\/caffe_solverOriginal\/caffe/scsc\/code\/densenet\/caffe-master/g'

其中

's/   xxx   /   zzz    /g'

,這是該命令核心的地方,將xxx內容替換爲zzz的內容,命令以  /   符號作爲分隔符,如果要替換路徑(如上述命令)存在衝突可以以 \  符號作爲轉譯符。同時也可以使用

 's#      #      #g' 

這種命令來替換分隔副,只要前後統一即可。

2.2 合併後的結果

grep -rnl 'tl486Vgit_TCcaffe/Caffe_solverOriginal/caffe' ./ | xargs sed -i 's/tl486\/git_TCcaffe\/caffe_solverOriginal\/caffe/scsc\/code\/densenet\/caffe-master/g'

2.3 在當前目錄中執行  ./上述腳本其的名稱.sh 就可以執行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章