我想使用 xargs 将 plocate 输出(路径列表)传输到另一个命令。 我需要使用
-I{}
替换,但我想使用所有参数运行一个命令,而不是每个参数运行一个命令。
问题是 -I
选项意味着 -L 1
。
bash代码示例:
plocate -r '/home/me/.*\.jpg' | xargs -I{} ln {} /tmp/images
这个愚蠢的代码应该链接 plocate 在 /tmp/images 中找到的所有文件。 这实际上是有效的,但它为每个文件运行一个命令!如果我有很多图像,这会很慢。
我建议:
... | xargs echo ln -t /tmp/images
如果输出看起来不错,请删除
echo
。
参见:
man ln