sed批量修改檔案中的字串

2022-05-17 15:42:08 字數 333 閱讀 6187

如果需要批量將資料夾dir下所有檔案中的字串「test」替換為「test」,可以這麼寫:

sed -i "s/test/test/g" `grep test -rl /dir`

其中使用了兩條命令:

(1) grep:在dir資料夾中搜尋字串test,注意這裡不需要引號

引數-r表示搜尋子目錄

引數-l表示輸出匹配檔名以及其路徑

(2)sed

s/test/test/g: 在整行範圍內把test替換為test。如果沒有g標記,則只有每行第乙個匹配的test被替換成mytest。

引數-i表示inplace edit,就地修改檔案

使用sed批量修改檔案

下午的時候遇到乙個煩事,需要將一些html中的由png改為gif。大約有20來個,如果乙個乙個改的話,真是有些煩人。該自動化的都應該讓他自動化。在思考如何指令碼化這個問題的時候,我想到這個需求有乙個關鍵點是 需要修改原檔案,而不是在管道中傳遞。請教google大神之後,再man sed一下,答案出來...

批量刪除 修改檔名中的某些字串

如想把以下mkv檔案改名為第01集 第10集然後再改為01 10 問題解決 1.首先要批處理檔案 夾 放在同一檔案目錄下。如 新建txt檔案並把以下 拷貝 整體拷貝不用修改 進去 echo off set p str1 請輸入要替換的檔案 資料夾 名字串 可替換空格 set p str2 請輸入替換...

在Linux中批量修改字串的命令

昨天乙個朋友忽然問我,在linux下如何批量修改字串,當時瞬間懵逼了,完全想不起來.今天特意的重溫了一下linux下的一些常用命令,並將這個遺忘的批量修改字串的命令記錄下來 資料來自網路 在linux下常用的批量修改字串的方法有兩種,在檔案內批量修改和不開啟檔案直接進行修改 在檔案內修改,即通過vi...