这个问题是基于这个答案 https://stackoverflow.com/questions/1121776/to-understand-xargs-better/1121897#1121897.
为什么两个命令得到相同的输出?
命令A
$sudo grep muel * /tmp
masi:muel
命令B
$sudo grep -H muel * /tmp
masi:muel
罗布的评论告诉我命令A不应该给我masi:
, 但只有muel
.
简而言之,实际目的是什么-H
?
如果给出多个文件名,Grep 将默认列出文件名。这-H
即使只给出一个文件名,选项也可以做到这一点。在您的两个示例中,都给出了多个文件名。
这是一个更好的例子:
$ grep Richie notes.txt
Richie wears glasses.
$ grep -H Richie notes.txt
notes.txt:Richie wears glasses.
当您为未知数量的文件提供通配符时,它会更有用,并且您始终希望打印文件名,即使通配符仅匹配一个文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)