ターミナルからプレーンテキスト内の文字列またはパターンを検索する

文字列またはパターンの検索について

次の記事では、いくつかを見るでしょう テキストファイル内で一致する文字列またはパターンを見つけるために使用されるコマンドラインツール。 これらのツールは通常、正規表現と組み合わせて使用​​され、次のように省略されます。 正規表現、検索パターンを説明するための一意の文字列です。

正規表現は、テキスト文字列内の文字の特定の組み合わせを見つけるために使用されるパターンです。 正規表現は、テキスト文字列を検索または認識するための非常に柔軟な方法を提供します。 次の行では正規表現は表示されませんが、パターンまたは文字列を使用します。

端末から文字列またはパターンを検索する

Grepコマンド

Grepはの頭字語です グローバル正規表現印刷。 これは、ファイル内の特定の文字列またはパターンを検索するときに役立つ強力なコマンドラインツールです。 grepを使用 先ほどこのブログで同僚から説明された機能など、幅広い機能が使えるようになります。

grepコマンドを使用するための構文は非常に単純です。

grep PATRON [RUTA AL ARCHIVO]

たとえば、文字列 'を検索するにはUbuntu'この例では呼び出すファイル内 text.txt、大文字と小文字の区別を考慮せずに、ターミナル(Ctrl + Alt + T)では、次のコマンドを実行するだけで済みます。

grep -i text

grep -i Ubuntu texto.txt

コマンドsed

喉の渇きは ストリームエディタ。 これは、ファイル内のテキストを操作できる端末のもうXNUMXつの便利なツールです。 Sedは、特定のファイル内の文字列を検索、フィルタリング、および置換します.

sedコマンドはデフォルトで出力を出力します 標準出力 (標準出力)。 これは、実行の結果がファイルに保存されるのではなく、端末に出力されることを意味します。

Sedコマンドは次のように使用できます。

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

たとえば、 'のすべての出現を置き換えるにはLinux'によるテキストで'Linux'、使用するコマンドは次のようになります。

コマンドsed

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

私たちが探しているのが 出力を端末に出力するのではなく、ファイルにリダイレクトします、次のようにリダイレクト記号を使用します。

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

コマンドの出力はファイルに保存されます output.txt 画面に印刷される代わりに。

sedコマンド出力

その他のオプションを表示するには、次のことができます マニュアルページを参照してください:

喉が渇いた男

man sed

Ack

Ackは、Perlで記述された高速のコマンドラインツールです。 これは、grepユーティリティのフレンドリーな代替品と見なされます、これも視覚的に魅力的な方法で結果を生成します。

ackをインストールします 私たちのシステムでは、ターミナルで実行する必要があります(Ctrl + Alt + T):

ackをインストールします

sudo apt install ack

コマンド Ackは、ファイルまたはディレクトリで、検索条件に一致する行を検索します。。 次に、対応する文字列を強調表示します。 このツールには、拡張子に基づいてファイルを区別する機能があります。

Ackコマンドの構文は次のようになります

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

たとえば、用語を検索するには Linux ファイルでは、以下を実行する必要があります。

コマンドack検索

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'現在のディレクトリ内にあるファイルでは、次のコマンドを実行するだけで済みます。

man rg Linux

rg Linux

その他のオプションを表示するには、ユーザーは次を使用できます マニュアルページ:

男のRG

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):

シルバーサーチャーで検索

ag Linux texto.txt

その他のオプションについては、 マニュアルページ:

男シルバーサーチャー

man ag

これらは、Linuxでテキストを検索、フィルタリング、および操作するために最も一般的に使用されるコマンドラインツールのほんの一部です。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。