了解 grep --label=

了解 grep --label=

我正在寻找如何工作的解释grep --label=LABEL:也许有人可以给我一个[或两个]例子来说明它的--label=用途。

我明白什么grepzgrep应该做什么——后者在--label=以下条目中提到info page

...在实现“zgrep”等工具时特别有用

到目前为止,我发现的 98% 都是复制/粘贴的,info grep另外百分之两的命令嵌入在我不理解的脚本中。

答案1

此功能使读取输出更加grep容易。如果您想检查grep无法直接读取的数据,那么您最终可能会使用管道来提供 grep,而不是创建grep可以读取的临时文件。如果您不需要临时文件(例如,因为它会很大),那么如果没有临时文件,您将遇到无法打印在哪个文件中找到匹配项的信息--label的问题。grep

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}'

但这并没有在控制台中提供匹配突出显示。

相关内容