我运行这个命令:
ls -1 | xargs -I% -n1 -P8 myprogramm -s1 -r5 -q -o %.dat %
它一次可以运行 8 次,-q
myprogramm 中的开关用于退出,这样就可以了。
但是如果程序运行完成,每次运行时我都会添加类似的内容; echo %
作为屏幕上的输出名称。
我运行这个命令:
ls -1 | xargs -I% -n1 -P8 myprogramm -s1 -r5 -q -o %.dat % ; echo %
我没有看到任何错误,但是输出不是我想要的。
我看到在 bash 中所有运行完成后只有一个带有一个符号的新行,%
但我会得到如下输出:
file1
file2
file3
...
%
=fileN 是用xargs运行的作业,怎么变成这样的输出?
shell在运行
;
之前就将 解释为命令分隔符xargs
,因此它会运行xargs
,然后运行echo %
。的参数
xargs
是要运行的命令,而不是命令列表。如果需要运行多个命令,请将它们写入脚本并从 运行xargs
。此外,解析的输出
ls
大部分都是错误的。对于包含空格的文件名,它无法正常工作。怎么样:
例子:
您还可以删除%:
在实际运行
echo
之前删除。myprogramm
还记得: 为什么*不*解析“ls”(以及应该做什么)?。