「grep -c ^b example」と「grep ^b example | cat -n」の違いは何ですか?

「grep -c ^b example」と「grep ^b example | cat -n」の違いは何ですか?

私はコマンドラインをよりよく学びようとしていますが、これら2つのコマンドの違いが何であるかを知りたいです。

grep -c ^b example  

そして

grep ^b example| cat –n

ベストアンサー1

さて、手動でgrep

探す模様すべて文書。デフォルトでは、一致grepする行が印刷されます。

そして-cフラグを使うと:

-c, --count

通常の出力を抑制します。代わりに、各入力ファイルに対して一致する行数を印刷します。

したがって、grep -c ^b example印刷数字(カウント) パターンに一致する行を計算し、grep ^b example行自体を印刷します。

に関してはcatそれは次のように説明されています。

ファイルをリンクして標準出力として印刷

この-nフラグの機能は次のとおりです。

-n, --number    

すべての出力ラインに番号を付けます。

パイプが存在し、ファイル名がない場合はcatパイプから読み取られるため、grep出力は行番号が追加された出力です。したがって、grep ^b example| cat –n一致するすべての行が印刷され、番号が付けられます。


これは、一致する行番号が追加されるのgrep -n ^b exampleとは異なります。出力だけを見て、それに応じて行番号を付けながら、元のファイルの行番号を調べます。grepgrepcatgrep

したがって、入力ファイルが与えられた場合

$ cat example 
bar
foo
basf

私たちは:

$ grep -c ^b example 
2

$ grep ^b example |cat -n
     1  bar
     2  basf

$ grep -n ^b example
1:bar
3:basf

おすすめ記事