GNU/Linux >> Linux の 問題 >  >> Linux

Linux での grep コマンドの例 (チート シート)

多くの場合、大きなファイルでは、ファイルの途中に埋もれている特定のデータ行を探す必要があります。ファイル全体を手動でスクロールする代わりに、grep コマンドに検索させることができます。 grep コマンドのコマンド ライン形式は次のとおりです。

# grep [options] pattern [file]

grep コマンドは、入力または指定したファイルを検索して、指定したパターンに一致する文字を含む行を探します。 grep からの出力は、一致するパターンを含む行です。 grep コマンドは人気があるため、これまでに多くの開発上の変更が行われてきました。 grep コマンドに多くの機能が追加されました。 grep コマンドのマニュアル ページに目を通してみると、その多用途性がわかります。

検索を逆にしたい場合 (パターンに一致しない行を出力する場合)、-v パラメーターを使用します。

$ grep -v t file1
one
four
five
$

一致するパターンが見つかった行番号を見つける必要がある場合は、-n パラメータを使用してください:

$ grep -n t file1
2:two
3:three
$

一致するパターンを含む行数を確認するだけの場合は、-c パラメータを使用します:

$ grep -c t file1
2
$

複数の一致パターンを指定する必要がある場合は、-e パラメータを使用して個々のパターンを指定します。

$ grep -e t -e f file1
two
three
four
five
$

grep コマンドの例

1. PATTERN を拡張正規表現として解釈するには:

# grep --extended-regexp PATTERN
# grep -E PATTERN 

2. PATTERN を固定文字列のリストとして解釈するには:

# grep -F PATTERN
# grep --fixed-strings PATTERN 

3. PATTERN を基本的な正規表現として解釈するには:

# grep -G PATTERN
# grep --basic-regexp PATTERN 

4. PATTERN を Perl 正規表現として解釈するには:

# grep -P PATTERN
# grep --perl-regexp PATTERN 

5. パターンとして PATTERN を使用するには:

# grep -e PATTERN, 
# grep --regexp=PATTERN 

6. FILE からパターンを取得するには、1 行に 1 つずつ:

# grep -f FILE, --file=FILE

7. PATTERN ファイルと入力ファイルの両方で大文字と小文字の区別を無視するには:

# grep -i PATTERN
# grep --ignore-case PATTERN

8. 一致の意味を反転するには、一致しない行を選択するには:

# grep -v PATTERN
# grep --invert-match PATTERN 

9. 単語全体を形成する一致を含む行のみを選択するには:

# grep -w PATTERN
# grep --word-regexp PATTERN

10. 行全体に完全に一致する一致のみを選択するには:

# grep -x PATTERN
# grep --line-regexp PATTERN 

11. ケースを無視するには:

# grep -y PATTERN 

12. 通常の出力を抑制する。代わりに、一致する行の数を出力します:

# grep -c PATTERN
# grep --count PATTERN 

13. カラーで表示するには:

# grep --color PATTERN 

14. 通常の出力を抑制する。代わりに、各入力ファイルの名前を出力します。from out は期待されません:

# grep -L
# grep --files-without-match 

15. 通常の出力を抑制する。代わりに、出力が出力された各入力ファイルの名前を出力します:

# grep -l
# grep --files-with-matches 

16.静かにする;標準出力には何も書き込まないでください。一致するものが見つかった場合は、ステータス 0 ですぐに終了します:

# grep -q 
# grep --quiet
# grep --silent 

17. 一致する NUM 行後にファイルの読み取りを停止するには:

# grep -m NUM
# grep --max-count=NUM 

18. 一致する行の一致した (空でない) 部分のみを印刷するには:

# grep -o PATTERN
# grep --only-matching PATTERN 

19. 存在しない、または読み取れないファイルに関するエラー メッセージを非表示にするには:

# grep -s PATTERN
# grep --no-messages PATTERN 

20. 出力の各行の前に、入力ファイル内の 0 ベースのバイト オフセットを出力するには:

# grep -b PATTERN
# grep --byte-offset PATTERN 

21. 各試合のファイル名を印刷するには:

# grep -H PATTERN
# grep --with-filename PATTERN

22. 出力時にファイル名のプレフィックスを抑制するには:

# grep -h PATTERN
# grep --no-filename PATTERN 

23. 実際には標準入力からの入力を、ファイル LABEL からの入力として表示するには:

# grep -cd PATTERN | grep --label=mysearch -H PATTERN 

24. 入力ファイル内で、出力の各行の前に 1 から始まる行番号を付けるには:

# grep -n PATTERN
# grep --line-number PATTERN 

25. 実際の行コンテンツの最初の文字がタブ位置にあることを確認するには:

# grep -T PATTERN
# grep --initial-tab PATTERN 

26. Unix スタイルのバイト オフセットを報告するには:

# grep -u PATTERN
# grep --unix-byte-offsets PATTERN 

27. 通常ファイル名に続く文字の代わりに 0 バイトを出力するには:

# grep -Z PATTERN
# grep --null PATTERN

28. 一致した行の後に NUM 行の後続コンテキストを出力するには:

# grep -A NUM PATTERN
# grep --after-context=NUM PATTERN 

29. 一致する行の前に先頭のコンテキストの NUM 行を印刷するには:

# grep -B NUM PATTERN
# grep --before-context=NUM PATTERN 

30. 出力コンテキストの NUM 行を印刷するには:

# grep -C NUM PATTERN
# grep --context=NUM PATTERN 

31. バイナリ ファイルをテキストのように処理するには:

# grep -a PATTERN /tmp/bin
# grep -text PATTERN /tmp/bin 

32. ファイルのタイプが TYPE であると仮定するには:

# grep --binary-files=TYPE PATTERN 

33. 入力ファイルがデバイス、FIFO、またはソケットの場合は、ACTION を使用して処理します:

# grep -D ACTION PATTERN
# grep --devices=ACTION PATTERN 

34. 入力ファイルがディレクトリの場合は、ACTION を使用して処理します:

# grep -d ACTION PATTERN
# grep --directories=ACTION PATTERN 

35. ベース名が GLOB に一致するファイルをスキップするには:

# grep --exclude=GLOB PATTERN 

36. ベース名が FILE から読み取ったファイル名グロブのいずれかと一致するファイルをスキップするには:

# grep --exclude-from=FILE PATTERN 

37. 再帰検索からパターン DIR に一致するディレクトリを除外するには:

# grep --exclude-dir=DIR PATTERN

38. 一致するデータが含まれていないかのようにバイナリ ファイルを処理するには:

# grep -I PATTERN

39. ベース名が GLOB に一致するファイルのみを検索するには:

# grep --include=GLOB 

40. 各ディレクトリの下にあるすべてのファイルを再帰的に読み取るには:

# grep -r PATTERN
# grep -R PATTERN 

41. 出力で行バッファリングを使用するには:

# grep --line-buffered PATTERN 

42. 可能であれば、デフォルトの読み取りではなく、mmap システム コールを使用して入力を読み取ります:

# grep --mmap PATTERN 

43. ファイルをバイナリとして扱うには:

# grep -U /tmp/file PATTERN
# grep --binary /tmp/file PATTERN 

44. 入力を一連の行として扱うには:

# grep -z PATTERN
# grep --null-data PATTERN 

45. ヘルプを表示するには:

# grep -h 

46. grep のバージョン番号を出力するには:

# grep -V 


Linux
  1. iSCSI 接続コマンドの例 (チート シート)

  2. Linux での sa コマンドの例

  3. w Linux でのコマンド例

  1. 7 Linux df コマンドの例

  2. 8 Linux TR コマンドの例

  3. Linux での fgrep コマンドの例

  1. Linux での rm コマンドの例

  2. Linux での ps コマンドの例

  3. Linux での grep コマンドの例 (チート シート)