为什么`xargs head`打印文件名?

时间:2018-01-10 11:26:24

标签: linux shell xargs

给出两个文件, a.txt内容为:A1b.txt内容为:B1

执行printf "a.txt\nb.txt" | xargs head -1

我希望它输出

A1
B1

但输出

==> a.txt <==
A1

==> b.txt <==
B1

为什么输出文件名? 以及如何禁用文件名的输出?

1 个答案:

答案 0 :(得分:2)

head正在执行多个参数。这会导致输出文件名。来自head man page

  

使用多个FILE,每个文件前面都有一个标题给出文件   名。

可以使用--quiet选项抑制标题:

printf "a.txt\nb.txt" | xargs head -1 --quiet