shell替換檔案內容

2021-08-26 07:05:35 字數 404 閱讀 4767

由於工作需要,需將之前文字中所記錄的**全部替換成新的**,操作如下:

1. 找到專案,檢視有哪些檔案有該字串

grep -r "52776822" *
2. 找到這些檔案所屬的頂級目錄,然後進行替換

find . -name "*.htm" -print0 |xargs -0 sed -i 's/52776822/77777777/g'
3. 檢視是否替換成功即可

4. 若不保險,清先備份乙份做測試

cp -rf static static_bak

p.s.

xargs 把find命令的結果作為perl的引數。

find的引數-print0和xargs的引數-0是防止檔名中有空格或新行造成錯誤,可以man xargs獲得幫助。 

grep sed批量替換檔案內容shell

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

替換檔案內容

前幾天無意間看見一道題,內容大致是這樣的。有乙個檔案,裡面內容是這樣的格式 1 aa 2 bb 3 cc 4 dd 現在想插入3 ee,如果存在3 那麼把後面內容換成新內容,如果不存在則新增一行。一開始我是這麼寫的 後來經指點使用字典可以這麼寫 tmp with open 1 r as fd a f...

python 練習 替換檔案內容

1.替換 import re file name new 4.txt fp open file name,r alllines fp.readlines fp.close fp open file name,w for eachline in alllines a re.sub 0.0.0.0 1....