如何在 Linux 系統中查詢和替換檔案中的文字
簡介
在基於 Linux 的作業系統中,有很多方法可以搜尋(查詢)和替換檔案中的文字。根據檔案大小和查詢和替換操作的複雜程度,不同的工具和命令可能更合適。在本文中,我們將學習幾種在 Linux 環境中查詢和替換文字的不同方法。
使用 sed 命令查詢和替換文字
sed(流編輯器)命令列工具是另一個功能強大的工具,可用於查詢和替換 Linux 檔案中的文字。此工具通常用於執行更復雜的文字轉換(操作),並且可以在互動式和非互動式模式下執行。要使用 sed 在檔案中搜索和替換文字,我們需要提供兩個引數:搜尋字串和替換字串。以下是如何使用 sed 將檔案“cmd.txt”中所有出現的“make”替換為“cmake”的一個很好的示例:
$ sed 's/make/cmake/g' cmd.txt > ncmd.txt
給定命令中的‘s/’關鍵字用於指定執行替換操作。“make”是搜尋字串,“cmake”是替換字串。命令末尾的‘g/’用於指定要替換搜尋字串的所有出現,而不僅僅是第一次出現。命令的輸出被重定向到一個名為“ncmd.txt”的新檔案。
使用 awk 命令查詢和替換文字
awk 命令是一種多功能的程式語言,常用於轉換文字資料。它也可用於在 Linux 檔案中搜索和替換文字。要使用awk 命令在檔案中查詢和替換文字,您需要提供兩個引數:搜尋字串和替換字串。
以下是如何使用awk 工具將檔案“fruits.txt”中所有出現的“apple”替換為“banana”的一個很好的示例:
$ awk '{gsub(/apple/, "banana"); print}' fruits.txt > latest_fruits.txt
awk 命令中的gsub()函式用於全域性替換搜尋字串為替換字串。命令的輸出儲存在名為“latest_fruits.txt”的新檔案中。
使用 vi 編輯器查詢和替換文字
在 Linux 上查詢和替換檔案中的文字的另一種方法是使用 vi 文字編輯器。vi 是一款多功能文字編輯器,可用於執行各種文字編輯任務,包括查詢和替換文字。
要在vi 中查詢和替換文字,您必須首先透過執行以下命令在vi 中開啟檔案:
$ vi file.txt
在vi 中開啟檔案後,按 Esc 鍵進入普通模式。然後鍵入以下命令以開始查詢和替換操作:
:%s/oldword/newword/g
此命令將查詢檔案中所有出現的“oldword”,並將每個例項替換為“newword”。
使用 grep 和 sed 命令查詢和替換文字
在 Linux 中查詢和替換文字的最簡單和最強大的工具之一是 grep 和sed。grep 是一個命令列工具,用於在基於文字的資料中查詢特定模式,而sed 是一個流編輯器,可以對檔案執行各種文字轉換。
以下是如何使用grep 和sed 在檔案中查詢特定單詞並將其替換為新單詞的示例:
$ grep -l 'oldword' file.txt | xargs sed -i 's/oldword/newword/g'
此命令將查詢檔案“file.txt”中所有出現的“old word”,並將每個例項替換為“new word”。
使用 perl 命令查詢和替換文字
最後,另一個可用於在 Linux 檔案中查詢和替換文字的工具是perl 命令。perl 是一種高階程式語言,可用於各種目的,包括文字處理。
以下是如何使用Perl 在檔案中查詢和替換文字的示例:
$ perl -pi -e 's/oldword/newword/g' file.txt
此命令將查詢檔案“file.txt”中所有出現的“oldword”,並將每個例項替換為“newword”。原始檔案將被修改,因此在使用此命令時要小心。
結論
總之,有多種方法可以在 Linux 檔案中查詢和替換文字,包括使用sed、awk 和perl 命令,以及使用文字編輯器(如gEdit 或Vim)的圖形使用者介面。選擇哪種方法取決於您的具體要求以及您需要執行的文字轉換的複雜性。無論您是新手還是經驗豐富的 Linux 使用者,其中一種方法肯定能滿足您的需求。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP