Shell命令替換檔案中固定字串

2021-09-24 13:55:51 字數 610 閱讀 1345

1,你需要知道替換使用sed

2,你需要知道如何遍歷當前目錄下的所有檔案

3,你需要如何對每個找到的檔案應用sed

4,你需要知道sed預設替換的時候不會儲存到原檔案。

答案:

替換所有需要使用sed的g引數

遍歷當前目錄下所有檔案的方法: find / -type f

find聯合sed的使用方法: find . -type f -exec sed ...

sed替換之後,把更新寫入新檔案的方法:-i選項。

find . -type f -exec sed -i 's/sina.com.cn/www.sina.com.cn/g' {} \;
更方便的乙個寫法

find . -type f | xargs sed -i 's/sina.com.cn/www.sina.com.cn/g'
再加乙個帶轉義符的:

$ find ./ -name "*.vcxproj" -exec sed -i "s/\$(root)\/include\/ex;//g" {} \;
**: 

shell替換檔案內容

由於工作需要,需將之前文字中所記錄的 全部替換成新的 操作如下 1.找到專案,檢視有哪些檔案有該字串 grep r 52776822 2.找到這些檔案所屬的頂級目錄,然後進行替換 find name htm print0 xargs 0 sed i s 52776822 77777777 g 3.檢...

grep sed批量替換檔案內容shell

最近做測試環境容器化,每個專案的環境變數單獨乙個檔案,昨天要把wap專案 ons mq服務的環境變數批量替換成新的 之前同事留下的坑 把wap dockerfile目錄下的環境變數批量替換掉,思路 不用每行手動輸入,先把需要替換的變數寫入乙個檔案.env 使用shell讀取檔案每一行,grep 再s...

Shell 批量替換檔名稱

去除特定字元 目標 將 2017 01 01.jpg 2018 01 01.jpg 改為 20170101.jpg 20180101.jpg 方法 將所有 替換為空 done中間插入字元 目標 將 book01.txt 02.txt 改為 book 01.txt 02.txt 方法 用分組匹配分別獲...