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

Linux での fgrep コマンドの例

有名な grep コマンドには 3 つの異なる形式があります。以下のリストでは、ユース ケースも区別しています。

  • fgrep :単純なパターンをすばやく検索します。このコマンドを使用すると、ワイルドカード文字を使用せずにパターンをすばやく見つけることができます。通常の単語を検索する場合に便利です。
  • grep :通常の正規表現によるパターン検索
  • egrep :より強力な拡張正規表現を使用したパターン検索

fgrep (高速 grep) は、1 つまたは複数のファイルを検索して、指定されたテキスト文字列に一致する行を探します。終了ステータスは、一致する行がある場合は 0、一致しない場合は 1、エラーの場合は 2 です。 fgrep は通常の grep 検索よりも高速ですが、柔軟性に欠けます。検索できるのは固定テキストのみで、正規表現は検索できません。

fgrep コマンドは grep と同じですが、正規表現を受け入れる代わりに、改行で区切られた固定文字列のリストを受け入れます。 grep -F と同じです。たとえば、1 行に 1 つずつ、文字列でいっぱいの辞書ファイルがある場合:

# cat my_dictionary_file
aardvark
aback
abandon
...

これらの文字列は、一連の入力ファイルで簡単に検索できます:

# fgrep -f my_dictionary_file inputfile1 inputfile2

通常、小文字の -f オプションを使用して、fgrep にファイルから固定文字列を読み取らせます。引用符を使用してコマンド ラインで固定文字列を読み取ることもできますが、少しトリッキーです。ファイル内の文字列 1、2、3 を検索するには、次のように入力します。

# fgrep 'one             ### Note we are typing newline characters
two
three' myfile

fgrep は、* や { などの英数字以外の文字を検索する場合に便利です。これらの文字は、正規表現の文字としてではなく文字どおりに解釈されるためです。

fgrep コマンドの例

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

# fgrep --extended-regexp PATTERN
# fgrep -E PATTERN 

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

# fgrep -F PATTERN
# fgrep --fixed-strings PATTERN 

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

# fgrep -G PATTERN
# fgrep --basic-regexp PATTERN 

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

# fgrep -P PATTERN
# fgrep --perl-regexp PATTERN 

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

# fgrep -e PATTERN, 
# fgrep --regexp=PATTERN

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

# fgrep -f FILE, --file=FILE 

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

# fgrep -i PATTERN
# fgrep --ignore-case PATTERN

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

# fgrep -v PATTERN
# fgrep --invert-match PATTERN 

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

# fgrep -w PATTERN
# fgrep --word-regexp PATTERN 

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

# fgrep -x PATTERN
# fgrep --line-regexp PATTERN 

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

# fgrep -y PATTERN

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

# fgrep -c PATTERN
# fgrep --count PATTERN

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

# fgrep --color PATTERN 

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

# fgrep -L PATTERN
# fgrep --files-without-match PATTERN

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

# fgrep -l PATTERN
# fgrep --files-with-matches PATTERN 

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

# fgrep -q PATTERN
# fgrep --quiet PATTERN
# fgrep --silent PATTERN 

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

# fgrep -m NUM PATTERN
# fgrep --max-count=NUM PATTERN

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

# fgrep -o PATTERN
# fgrep --only-matching PATTERN

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

# fgrep -s PATTERN
# fgrep --no-messages PATTERN

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

# fgrep -b PATTERN
# fgrep --byte-offset PATTERN 

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

# fgrep -H PATTERN
# fgrep --with-filename PATTERN 

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

# fgrep -h PATTERN
# fgrep --no-filename PATTERN 

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

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

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

# fgrep -n PATTERN
# fgrep --line-number PATTERN

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

# fgrep -T PATTERN
# fgrep --initial-tab PATTERN 

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

# fgrep -u PATTERN
# fgrep --unix-byte-offsets PATTERN 

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

# fgrep -Z PATTERN
# fgrep --null PATTERN 

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

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

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

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

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

# fgrep -C NUM PATTERN
# fgrep --context=NUM PATTERN

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

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

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

# fgrep --binary-files=TYPE PATTERN 

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

# fgrep -D ACTION PATTERN
# fgrep --devices=ACTION PATTERN

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

# fgrep -d ACTION PATTERN
# fgrep --directories=ACTION PATTERN 

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

# fgrep --exclude=GLOB PATTERN 

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

# fgrep --exclude-from=FILE PATTERN

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

# fgrep --exclude-dir=DIR PATTERN 

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

# fgrep -I PATTERN 

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

# fgrep --include=GLOB 

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

# fgrep -r PATTERN
# fgrep -R PATTERN 

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

# fgrep --line-buffered PATTERN 

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

# fgrep --mmap PATTERN 

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

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

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

# fgrep -z PATTERN
# fgrep --null-data PATTERN 

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

# fgrep -h 

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

# fgrep -V 


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

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

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

  1. 7 Linux df コマンドの例

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

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

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

  2. w Linux でのコマンド例

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