從終端在純文本中搜索字符串或模式

關於搜索字符串或模式

在下面的文章中,我們將看到一些 用於在文本文件中查找匹配的字符串或模式的命令行工具。 這些工具通常與正則表達式結合使用,縮寫為 正則表達式,這是描述搜索模式的唯一字符串。

正則表達式是用於在文本字符串中查找字符的特定組合的模式。 正則表達式提供了一種非常靈活的方式來搜索或識別文本字符串。 儘管在以下幾行中我們將看不到正則表達式,但我們將使用模式或字符串。

從終端搜索字符串或模式

Grep命令

Grep是的首字母縮寫 全局正則表達式打印。 這是一個功能強大的命令行工具,在文件中查找特定的字符串或模式時非常有用。 與grep 我們將能夠使用多種功能,例如同事在不久前在此博客中向我們解釋的功能。

使用grep命令的語法非常簡單:

grep PATRON [RUTA AL ARCHIVO]

例如,要搜索字符串“Ubuntu'在本例中我們將調用的文件中 text.txt,不考慮大小寫的區別,在終端(Ctrl + Alt + T)中,我們只需要執行以下命令:

grep -i文字

grep -i Ubuntu texto.txt

命令sed

口渴的簡稱 流編輯器。 對於終端,這是另一個有用的工具,我們可以使用該工具來處理文件中的文本。 sed搜索,過濾和替換給定文件中的字符串.

sed命令默認在以下位置打印輸出 標準輸出 (標準輸出)。 這意味著執行結果將打印到終端,而不是保存到文件。

Sed命令可以按如下方式使用:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

例如,要替換所有出現的“Linux“在文字中”GnuLinux的',將使用以下命令:

命令sed

sed 's/Linux/GnuLinux/g' texto.txt

如果我們正在尋找的是 將輸出重定向到文件,而不是將其打印到終端,我們將使用重定向符號,如下所示:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

命令的輸出保存在文件中 output.txt 而不是在屏幕上打印。

sed命令輸出

要查看更多選項,您可以 查閱手冊頁:

口渴的人

man sed

阿克

Ack是用Perl編寫的快速命令行工具。 它被認為是grep實用程序的友好替代品,這也以視覺上吸引人的方式生成結果。

安裝確認 在我們的系統中,我們將必須在終端中執行(Ctrl + Alt + T):

安裝確認

sudo apt install ack

命令 Ack在文件或目錄中搜索包含與搜索條件匹配的行。 然後突出顯示相應的字符串。 此工具具有根據文件擴展名區分文件的功能。

Ack命令的語法類似於以下內容

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

例如,搜索詞 Linux 在文件中,我們將必須執行:

命令確認搜索

ack Linux texto.txt

搜索工具非常聰明, 如果用戶不提供任何文件或目錄,它將在當前目錄和子目錄中搜索搜索模式.

在以下示例中,沒有提供文件或目錄。 Ack自動檢測目錄中的可用文件並查找匹配的模式:

沒有文件的ack搜索

ack Linux

里普格普

里普格普 是用於搜索正則表達式模式的跨平台實用程序。 它比上面提到的所有搜索工具都快,並且它以遞歸方式搜索目錄中的匹配模式。 它還允許您搜索特定的文件類型。 默認情況下,ripgrep將跳過二進製文件和隱藏的文件/目錄。

安裝ripgrep 在系統上,您所要做的就是在終端中運行以下命令(Ctrl + Alt + T):

ripgrep安裝

sudo apt install ripgrep

使用ripgrep的語法非常簡單:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

如果我們要搜索鏈“Linux在位於當前目錄內的文件中,我們只需執行以下命令:

曼rg linux

rg Linux

要查看更多選項,用戶可以使用 手冊頁:

曼·羅格

man rg

銀牌搜尋者

安裝此工具在Ubuntu中,我們只需要打開一個終端(Ctrl + Alt + T)並編寫以下命令:

silversearcher-ag安裝

sudo apt install silversearcher-ag

Silver Searcher是類似於ack的跨平台,開源搜索工具,但注重速度。 它使您可以在最短的時間內輕鬆找到文件中的特定字符串。 使用的語法為:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

例如,搜索“Linux文件中的“ text.txt,我們將不得不在終端中輸入內容(Ctrl + Alt + T):

用silversearcher搜索

ag Linux texto.txt

要查看更多選項,我們可以諮詢 手冊頁:

男士Silversearcher

man ag

這些只是在Linux中用於搜索,過濾和處理文本的一些最常用的命令行工具。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。