在 xargs 中使用 --replace 字符串,但每个命令仍使用多个参数

问题描述 投票:0回答:1

我想使用 xargsplocate 输出(路径列表)传输到另一个命令。 我需要使用

-I{}
替换,但我想使用所有参数运行一个命令,而不是每个参数运行一个命令。 问题是
-I
选项意味着
-L 1
bash代码示例:

plocate -r '/home/me/.*\.jpg' | xargs -I{} ln {} /tmp/images 

这个愚蠢的代码应该链接 plocate 在 /tmp/images 中找到的所有文件。 这实际上是有效的,但它为每个文件运行一个命令!如果我有很多图像,这会很慢。

linux bash xargs locate plocate
1个回答
0
投票

我建议:

... | xargs echo ln -t /tmp/images

如果输出看起来不错,请删除

echo

参见:

man ln

© www.soinside.com 2019 - 2024. All rights reserved.