grep --label=について学びます。

grep --label=について学びます。

私はこれがどのように機能するかについての説明を探していますgrep --label=LABEL。おそらく誰かが私にその使い方の例(または2つ)を与えることができます--label=

私が理解したこととgrepzgrepがしなければならないこと - 後者は--label=次のトピックで言及されていますinfo page

..."zgrep"などのツールを実装するときに特に便利です。

これまでのところ、私が見つけたものの98%はコピー/貼り付けでしたが、info grepコマンドの残りの2%は私が理解できないスクリプトに含まれています。

答え1

この機能により、出力をgrep読みやすくします。直接読み取れないデータを調べたい場合は、読み取り可能な一時ファイルを作成するのではなく、パイプを使用してgrepgrepを供給することができます。grep一時ファイルが不要な場合(容量が大きい場合など)、一時ファイルがないと、一致が見つかったファイルの情報を印刷できないという問題が発生します--labelgrep

これ

echo $'fubar\nbaz\nbat' | grep --label=inputfile -H a
inputfile:fubar
inputfile:baz
inputfile:bat

等しい

echo $'fubar\nbaz\nbat' > inputfile
grep -H a inputfile
inputfile:fubar
inputfile:baz
inputfile:bat

最初の方法は、この方法がないと機能しないため--label(つまり、目的の出力を提供しないため)、次のことを行う必要があります。

echo $'fubar\nbaz\nbat' | grep a | awk '{print "inputfile:" $0}'

ただし、これはコンソールで一致強調表示を提供しません。

関連情報