ホームページ >運用・保守 >Linuxの運用と保守 >Linux の grep コマンドの完全なリスト
Linux システムの grep コマンドは強力なテキスト検索ツールで、正規表現を使用してテキストを検索し、一致する行を出力できます。 grep の正式名称は Global Regular Expression Print で、グローバル正規表現版を意味し、使用権限はすべてのユーザーに与えられます。
1. 機能
Linux システムの grep コマンドは強力なテキスト検索ツールであり、正規表現を使用してテキストを検索し、一致する行を出力できます。 grep の正式名称は Global Regular Expression Print で、グローバル正規表現版を意味し、使用権限はすべてのユーザーに与えられます。
grep ファミリには、grep、egrep、および fgrep が含まれます。 egrep および fgrep コマンドは grep とわずかに異なります。 egrep は grep の拡張機能であり、より多くのメタ文字をサポートしています。fgrep は固定 grep または高速 grep で、すべての文字を単語として扱います。つまり、正規表現内のメタ文字は独自のリテラルの意味を表します。は、特別なものではなくなりました。 Linux は GNU バージョンの grep を使用します。これはより強力で、-G、-E、および -F コマンド ライン オプションを使用して egrep および fgrep の機能を使用できます。
2. 形式と主なパラメータ
grep [オプション]
主なパラメータ: grep --help を参照できます
-c: 一致した行数のみを出力します。
-i: 大文字と小文字は区別されません。
-h: 複数のファイルをクエリするときにファイル名を表示しません。
-l: 複数のファイルをクエリする場合、一致する文字を含むファイル名のみが出力されます。
-n: 一致する行と行番号を表示します。
-s: 存在しない、または一致するテキストがないエラー メッセージを表示しません。
-v: 一致するテキストを含まないすべての行を表示します。
--color=auto: 見つかったキーワードに色を追加できます。
パターン正規表現の主なパラメータ:
\: 正規表現内の特殊文字の本来の意味を無視します。
^: 正規表現の開始行と一致します。
$: 正規表現の終了行と一致します。
\<: 正規表現に一致する行から開始します。
\>: 正規表現に一致する行の末尾へ。
[ ]: [A] などの 1 文字は、A が要件を満たしていることを意味します。
[-]: [A-Z] などの範囲、つまり A、B、C ~ Z はすべて要件を満たします。
.: すべて単一の文字。
*: すべての文字。長さは 0 にすることができます。
3. grep コマンドの簡単な使用例
itcast$ grep 'test' d*
d で始まるファイル内の test を含む行をすべて表示
itcast $ grep 'test' aa bb cc
aa、bb、cc ファイル内の test に一致する行を表示します。
itcast $ grep ‘[a-z]\{5\}’ aa
各文字列に少なくとも 5 つの連続した小文字を含む文字列を含むすべての行を表示します。
itcast $ grep 'w\(es\)t.*\1' aa
West が一致した場合、es はメモリに保存されて 1 としてマークされ、任意の数の文字 (.* ) を検索します。 、これらの文字の後に別の es(\1) が続き、その行が見つかると表示されます。 egrep または grep -E を使用する場合は、「\」記号でエスケープする必要はなく、「w(es)t.*\1」と直接記述するだけです。
4. Grep コマンドでは複雑な例が使用されています
サブディレクトリの検索を明示的に要求します:
grep -r
またはサブディレクトリを無視します
grep -d Skip
大量の出力がある場合は、読み取り用に 'less' にパイプできます:
itcast$ grep magic /usr/src/Linux/Documentation/* |less
このようにすると、より便利に読み取ることができます。
注意すべき点は、ファイル フィルタリング方法を提供する必要があることです (すべてのファイルを検索するには * を使用します)。忘れた場合、「grep」はプログラムが中断されるまで待機します。この問題が発生した場合は、 を押してもう一度試してください。
以下に興味深いコマンド ライン パラメータがいくつかあります。
grep -i パターン ファイル: 大文字と小文字を区別せずに検索します。デフォルトでは、大文字と小文字が区別されます。
grep -l パターン ファイル: 一致するファイル名のみがリストされます。
grep -L パターン ファイル: 一致しないファイル名がリストされます。
grep -w パターン ファイル: のみ文字列の一部ではなく単語全体と一致します (「magical」ではなく「magic」と一致するなど)。
grep -C 数値パターン ファイル: 一致するコンテキストには [number] 行がそれぞれ表示されます。
grep pattern1 | pattern2 ファイル: pattern1 または pattern2 に一致する行を表示します。
例: grep "abc\|xyz" testfile は、abc または xyz を含む行をフィルタリングすることを意味します
grep pattern1 files | grep pattern2: pattern1 と pattern2 の両方に一致する行を表示 OK。
grep -n パターン ファイルは行番号情報を表示できます
grep -c パターン ファイルは総行数を見つけることができます
検索に使用される特殊な記号もいくつかあります: \< および \> マーク ワードそれぞれ始まりと終わり。
例:
grep man * は、'Batman'、'manic'、'man' などに一致します。
grep '\
'^': 一致した文字列が行の先頭にあることを意味します。
'$': 一致した文字列が行の末尾にあることを意味します。
grep を使用して検索します構造体 grep -R "struct task_struct { " /usr/src -n を追加して行番号を表示します
PS1=$ .bashrc にホーム ディレクトリを入力します
[コースの推奨事項: Linux ビデオ]チュートリアル###]###
以上がLinux の grep コマンドの完全なリストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。