ホームページ  >  記事  >  運用・保守  >  Linux でファイルの内容を見つけることはできますか?

Linux でファイルの内容を見つけることはできますか?

青灯夜游
青灯夜游オリジナル
2022-03-21 15:51:512954ブラウズ

Linux では、grep コマンドを使用してファイルの内容を検索できます。このコマンドは、ファイル内の条件を満たす文字列を検索するために使用される強力なテキスト検索ツールです。検索には正規表現を使用できます。テキストの場合、構文「grep [オプション] パターン ファイル名」。

Linux でファイルの内容を見つけることはできますか?

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

Linux では、grep コマンドを使用してファイルの内容を検索できます。

Linux システムの grep (グローバル正規表現印刷) コマンドは、ファイル内の修飾された文字列を検索するために使用される強力なテキスト検索ツールです。正規表現を使用してテキストを検索し、一致する行を印刷できます。

grep コマンドの起源は、UNIX の初期にまで遡ることができます。UNIX システムでは、検索パターンは正規表現と呼ばれます。ファイルを徹底的に検索するために、一部のユーザーはプレフィックス global (包括的) を検索する文字列の前に追加します。一致するコンテンツが見つかると、ユーザーはそれを画面に出力します。この一連の操作はグローバル正規表現に統合されています。print (grep コマンドの完全名)

grep コマンドは、1 つまたは複数のファイルで特定の文字パターン (つまり、正規表現) を検索できます。このパターンには、単一の文字、文字列、単語、または文を指定できます。

正規表現は文字列のセットを記述するパターンです。正規表現の構成は、演算子を使用してより小さな式を新しい式に結合することにより、数式を模倣します。正規表現には、パターンの生成に使用されるプレーン テキストまたは特殊文字を使用できます。検索パターンをさらに定義するために、 grep コマンドは、表 1 に示す正規表現のメタ文字 (ワイルドカードとも呼ばれます) をサポートしています。

#表 1 正規表現のワイルドカード文字ワイルドカード文字関数c * は 0 (つまり空白) または複数の文字 c (c は任意の文字) と一致します。 . は任意の文字と一致しますが、指定できるのは 1 文字のみです。 [xyz] 角括弧内の任意の文字と一致します。 [^xyz] 角括弧内の文字を除くすべての文字と一致します。 #行の先頭をロックします。 #$ワイルドカード文字 *、 、{、|、( および ) などの基本的な正規表現では、本来の意味が失われていることに注意してください。元の意味に戻すには、\*、\、\{、\|、\(、\) のように、前にバックスラッシュ \ を付けます。
行の末尾をロックします。

grep コマンドは、各ファイルまたはメディア (または特定の出力) で特定のパターンを検索するために使用されます。grep を使用すると、指定された文字パターンを含む各行が、ただし、grep コマンドを使用してもファイルの内容は変更されません。

grep コマンドの基本的な形式は次のとおりです。

[root@localhost ~]# grep [选项] 模式 文件名

ここでのパターンは文字 (文字列) または正規表現です。このコマンドで一般的に使用されるオプションとそれぞれの意味を表 2 に示します。

#表 2 grep コマンドの一般的なオプションとその意味

意味- cパターンを含むファイル内の行数のみをリストします。 -iパターン内の文字の大文字と小文字を無視します。 -lファイル名を一致する行とともにリストします。 -n各行の先頭に行番号をリストします。 -vパターンに一致しない行をリストします。 複数のファイルが検索された場合、grep コマンドの検索結果には、ファイル内で見つかったパターンに一致するファイル名のみが表示され、単一のファイルが検索された場合には注意してください。 、 grep コマンドの結果 一致するパターンを含むすべての行が表示されます。 [例 1] emp.data に従業員のリストがあるとします。次に、このファイルを検索して、位置 CLERK を持つすべての従業員を見つけたいとします。次に、次のコマンドを実行します:
[root@localhost ~]# grep CLERK emp.data
#忽略输出内容
これに基づいて、役職が CLERK の従業員の数だけを知りたい場合は、「-c」オプションを使用して次のようにコマンドを実行できます。
#オプション
#-w 式を完全な 1 文字であるかのように検索し、部分的に一致する行を無視します。
[root@localhost ~]# grep -c CLERK emp.data
#忽略输出内容

[例 2] emp を検索します。 .data ファイルを開き、正規表現を使用して 78 で始まるデータ行を見つけます。実行コマンドは次のとおりです:

[root@localhost ~]# grep ^78 emp.data
#忽略输出内容

grep コマンドは非常に強力です。さまざまなオプションと常に変化する正規表現を使用することで、 、必要な情報はすべて入手できます。

関連する推奨事項: 「

Linux ビデオ チュートリアル

以上がLinux でファイルの内容を見つけることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。