grep を使用してファイルの内容を検索 - 高速で便利です
1. 機能
grep コマンドは、特定の内容を検索するファイルを指定し、その内容を含む行を標準出力に出力できます。 grep の正式名は Global Regular Expression Print です。これは、その使用権限がすべてのユーザーに与えられることを意味します。
2. 形式
grep [オプション]
基本形式
grep パターン [ファイル...]
(1)grep 検索文字列 [ファイル名]
(2)grep 正規表現 [ファイル名]
ファイル内のすべてを検索 Where パターン
注: 検索する文字列を入力するとき、またはパターン マッチングに正規表現を使用するときは、二重引用符を使用することをお勧めします。一重引用符の使用に注意してください。 3. 主なパラメータ
[オプション] 主なパラメータ:
-c: 一致した行数のみを出力します。
-I: 大文字と小文字は区別されません (単一文字にのみ適用されます)。
-h: 複数のファイルをクエリするときにファイル名を表示しません。
-l: 複数のファイルをクエリする場合、一致する文字を含むファイル名のみが出力されます。
-n: 一致する行と行番号を表示します。
-s: 存在しない、または一致するテキストがないエラー メッセージを表示しません。
-v: 一致するテキストを含まないすべての行を表示します。
注: c がある場合、n は無効になります
パターン正規表現の主なパラメータ: 正規表現の適用 (注: 正規表現を一重引用符で囲むのが最善です)
: 正規表現内の特殊文字を無視する原則意味があるのです。
^: 正規表現の開始行と一致します。
$: 正規表現の終了行と一致します。
<: 正規表現に一致する行から開始します。
>: 正規表現に一致する行の末尾に移動します。
[ ]: [A] などの 1 文字、つまり A が要件を満たします。
[-]: [A-Z] などの範囲、つまり A、B、C ~ Z がすべて要件を満たします。
。 : すべて単一の文字。
*: 文字があり、長さは 0 になる可能性があります。
以下にいくつかの興味深いコマンドラインパラメータがあります:
grep -i パターンファイル: 大文字と小文字を区別せずに検索します。デフォルトでは大文字と小文字が区別されます。
grep -l パターン ファイル: 一致するファイル名のみがリストされます。
grep -L パターン ファイル: 一致しないファイル名がリストされます。
grep -w パターン ファイル: 単語ではなく、単語全体のみに一致します。文字列の一部 (「magical」ではなく「magic」に一致するなど)、
grep -C 数値パターン ファイル: 一致するコンテキストは [number] 行を表示します。
pattern2 ファイル: pattern1 の一致する行を表示します。 pattern2,
grep pattern1 files | grep pattern2: pattern1 と pattern2 の両方に一致する行を表示します。
grep -n パターン ファイルは行番号情報を表示します
grep -c パターン ファイルは総行数を見つけます
正規表現は、Linux/Unix システムでは非常に重要な概念です。正規表現 (「正規表現」または「正規表現」とも呼ばれます) は、文字列のタイプを記述することができるパターンです。文字列が正規表現で記述できる場合、その文字は正規表現に一致するといいます。これは、DOS でユーザーがワイルドカード「*」を使用して任意の文字を表す方法と似ています。 Linux システムでは、正規表現はテキスト内のパターンを検索したり、テキストに対して「検索置換」操作やその他の機能を実行したりするためによく使用されます。
1. grep 検索文字列 [ファイル名]
次のテキストを含む grep.txt という名前のファイルを作成します:
私はゴルフが好きです。
ゴルフは芝生でプレーされます。 gilf.
1. grep.txt ファイル内の文字列 golf のすべてのインスタンスを検索し、文字列を含む行を出力します
grep Golf grep.txt
I like Golf.
grep -n "golf" grep .txt
1:私はゴルフが好きです。
2. grep 正規表現 [ファイル名]
grep -n '[gG]olf' grep.txt
1:私はゴルフが好きです。
2:ゴルフは芝生の上でプレーしました。