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

标签 linux shell xargs

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

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

我希望它输出

A1
B1

但它输出

==> a.txt <==
A1

==> b.txt <==
B1

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

最佳答案

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

With more than one FILE, precede each with a header giving the file name.

可以使用 --quiet 选项抑制 header :

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

关于linux - 为什么 `xargs head` 打印文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186395/

相关文章:

c - pthread_self() 和 gettid() 返回值之间的差异

php - MariaDB 没有盯着看

Java:Linux 服务器上的数字签名与 Windows 客户端上的数字签名不同

Linux:如何删除目录本身(不是子目录)内的所有文件(不是目录)

linux - xargs 打印 wc -l 的输出

c - 如何在 C 中获取 Linux 中进程的 PID

linux - 如何让我的 shell 脚本检测到多次调用的状态变化?

string - 空格/制表符/换行符不敏感比较

regex - 如何获取正则表达式匹配的子组的内容

戈朗 : How to run "go test" repeatedly without recompiling?