是否可以使用 xargs 调用命令以固定命令的最后一个参数?
我的尝试:
printf '%s\n' a b c d | xargs -I{} echo {} LAST
最终做
echo a LAST
echo b LAST
echo c LAST
echo d LAST
我想让 xargs 调用
echo a b c d LAST
#fit as many as you can but always finish wiht LAST
这可能吗,最好以便携的方式?
tl;博士; 这就是你可以便携地做到这一点的方法,没有
-I
其他破碎的花哨选项:该
-I
选项的问题在于它被设计破坏了,并且没有办法解决它:但它们可能已被涵盖,因为这就是标准所说的:
它并没有说明与
-n
和-d
选项的交互,所以他们可以自由地做任何他们想做的事情。这就是它在(较旧的)FreeBSD 上的情况,不太出人意料但非标准:
不与
xargs
(单独)。如果您有一个长度不可预测的项目列表,如何xargs
从开头(=第一个元素)知道哪个元素是最后一个?您将需要一些额外的逻辑来将所需元素与其他元素分开。