尋找並取代多個文件中的文本

尋找並取代多個文件中的文本

我想知道如何在多個文件中找到和替換特定文本,例如連結教程中的 Notepad++ 中的文本。

例如:http://cybernetnews.com/find-replace-multiple-files/

答案1

在這裡,我使用 sed 將目錄 /home/user/directory/ 中每個副檔名為 c 的檔案中出現的所有單字「cybernetnews」替換為「cybernet」。

find /home/user/directory -name \*.c -exec sed -i "s/cybernetnews/cybernet/g" {} \;

更通用的變體,您從執行目錄遞歸搜尋並僅對常規、可讀、可寫入檔案進行操作:

find ./ -type f -readable -writable -exec sed -i "s/cybernetnews/cybernet/g" {} \;

答案2

流編輯器 sed 是此類工作的強大實用程序,是我的首選,但是,如果您想使用基於 Ubuntu 的本機應用程序從普通文本編輯器執行此操作,我建議您看看 Jedit ,它可以在在儲存庫中找到,並且可以透過在控制台中鍵入以下內容來安裝:

sudo apt-get install jedit

啟動jedit,按一下搜尋選單項,在選單清單中按一下「在目錄中搜尋」項,您將看到以下對話方塊:

Jedit 在資料夾中搜尋對話框

這與Notepad++類似,做同樣的事情,我相信這就是你想要的。

答案3

另一個 GUI 選項是正則器: 正規截圖

答案4

檢查與傑尼,它是 Linux 的完美 NPP 替代品。您完全可以做到這一點,而且還可以使用正規表示式。

相關內容