491得票13回答
让xargs针对每个输入行执行一次命令

如何让xargs针对输入的每一行仅执行一次命令? 默认情况下,它会将行分组并将多行传递给单个实例来执行命令。 引用自http://en.wikipedia.org/wiki/Xargs: 在这个示例中,find将文件名列表作为输入提供给xargs。然后,xargs将该列表拆分为子列表,并为...

436得票11回答
使用xargs运行多个命令

cat a.txt | xargs -I % echo % 在上面的示例中,xargs将echo %作为命令参数。但有时我需要多个命令来处理参数,而不是一个。例如: 在上面的示例中,xargs 将 echo % 作为命令参数。但在某些情况下,我需要多个命令来处理该参数,而不是一个。例如:c...

409得票15回答
使xargs能够处理包含空格的文件名

$ ls *mp3 | xargs mplayer Playing Lemon. File not found: 'Lemon' Playing Tree.mp3. File not found: 'Tree.mp3' Exiting... (End of file) ...

281得票7回答
如果标准输入为空,如何忽略xargs命令?

请考虑以下命令:ls /mydir/*.txt | xargs chown root 目的是将mydir目录下所有文本文件的所有者更改为root。 问题在于如果mydir中没有.txt文件,则xargs会抛出错误,指定未指定路径。这只是一个无害的例子,因为出现了错误,但在某些情况下(比如我需...

259得票5回答
使用xargs调用shell函数

我正在尝试使用xargs并行调用一个更复杂的函数。#!/bin/bash echo_var(){ echo $1 return 0 } seq -f "n%04g" 1 100 |xargs -n 1 -P 10 -i echo_var {} exit 0 这会返回错误信息x...

253得票22回答
如何使用xargs复制文件名带有空格和引号的文件?

我正在尝试复制一个目录下的一堆文件,其中一些文件名中有空格和单引号。 当我尝试使用find,grep和xargs一起运行时,我会得到以下错误:find .|grep "FooBar"|xargs -I{} cp "{}" ~/foo/bar xargs: unterminated quote ...

194得票4回答
如何在xargs命令中使用“>”符号?

我想找到一个bash命令,可以让我在一个目录中grep每个文件,并将grep的输出写入单独的文件。我猜应该做类似于这样的事情:ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out" 据我所知,xargs不支持双引号。如果我移除了双引号,则该命令将把整个...

125得票3回答
使用xargs并行运行程序

我目前拥有当前的脚本。#!/bin/bash # script.sh for i in {0..99}; do script-to-run.sh input/ output/ $i done 我希望使用xargs并行运行它。我已经尝试过script.sh | xargs -P8 但是以...

85得票17回答
xargs多个参数

我有一个源文件输入,input.txta.txt b.txt c.txt 我想把这些输入作为以下方式提供给程序:my-program --file=a.txt --file=b.txt --file=c.txt 我尝试使用 xargs,但没有成功。cat input.txt | xargs -...

80得票8回答
修改xargs中的替换字符串

有时候我使用 xargs 命令时,并不需要显式地使用替换字符串:find . -name "*.txt" | xargs rm -rf 在其他情况下,我想要指定替换字符串以执行像这样的操作:find . -name "*.txt" | xargs -I '{}' mv '{}' /foo/'{...