我想在多行输入上运行相同的命令。 Gnu xargs 似乎很适合,但它的行为并不像我预期的那样。
当我向它提供多行输入时,-d '\n'
输入行连接在一起并且命令运行一次:
root@liv-wa01-si-lamp:/usr/local/bin/test# ls -l
total 0
-rw-r--r-- 1 root root 0 Dec 2 14:28 a
-rw-r--r-- 1 root root 0 Dec 2 14:28 b
-rw-r--r-- 1 root root 0 Dec 2 14:28 c
root@liv-wa01-si-lamp:/usr/local/bin/test# ls -l | xargs -d '\n' echo "I found "
I found total 0 -rw-r--r-- 1 root root 0 Dec 2 14:28 a -rw-r--r-- 1 root root 0 Dec 2 14:28 b -rw-r--r-- 1 root root 0 Dec 2 14:28 c
(我的输入不是目录列表 - 它是 awk 脚本的输出,但行为与上面相同)。