Questions tagged «xargs»

xargs是一个执行另一个命令并从stdin生成其参数的命令

6
什么时候需要xargs?
该xargs命令总是使我感到困惑。是否有一般规则? 考虑下面的两个示例: $ \ls | grep Cases | less 打印与“案例”匹配的文件,但是将命令更改为touch则需要xargs: $ \ls | grep Cases | touch touch: missing file operand Try `touch --help' for more information. $ \ls | grep Cases | xargs touch

4
对“查找”的输出进行排序?
在将其find通过管道传递给命令之前,我需要能够按字母顺序对输出进行排序。| sort |在两者之间输入无效,那么我该怎么办? find folder1 folder2 -name "*.txt" -print0 | xargs -0 myCommand
77 shell  find  sort  xargs 

2
使xargs作为第一个参数传递
我正在尝试产生这种行为: grep 192.168.1 *.txt 通过Xargs将字符串传递给grep,但是它在最后而不是作为第一个参数。 echo 192.168.1 | xargs grep *.txt 我需要告诉xargs(或类似的东西)将输入的字符串放在'grep'和'*'之间,而不是放在最后。 我该怎么做呢?
53 xargs 

7
将xargs与文件输入配合使用
说我有一个以下文件 bob john sue 现在,这些直接corrospond到(在这种情况下)URL模式如http://example.com/persons/bob.tar,john.tar,sue.tar。 我想采取这些路线,并贯穿它们xargs。我不知道是什么传递给正在执行的命令。如何从提示符(例如,我想简单地回显每行cat file | xargs echo $PARAM)或bash脚本中访问参数。
41 bash  scripting  xargs 

1
GNU parallel vs&(我的意思是背景)vs xargs -P
我对.sh使用脚本在脚本中运行一组任务的区别或优势(如果有)感到困惑GNU parallel 例如,Ole Tange的答案: parallel ./pngout -s0 {} R{} ::: *.png 而不是说遍历它们将它们置于背景中&。 例如弗罗斯特斯的答案: #copied from the link for illustration for stuff in things do ( something with stuff ) & done wait # for all the something with stuff 简而言之,它们只是在语法上还是实际上在不同?如果实际上不同,我什么时候应该使用它们?

3
管道式xargs后的管道命令
HP-UX ***** B.11.23 U ia64 ****无限用户许可证 find . -type d -name *log* | xargs ls -la 给我目录名称(目录名称中包含log的目录名称),后跟该目录中的所有文件。 该目录 /var/opt/SID/application_a/log/, /var/opt/SID/application_b/log/, /var/opt/SID/application_c/log/等包含日志文件。 我只希望该ls命令列出两个最新的日志文件,通常可以使用来找到ls -latr | tail -2。 输出必须是这样的。 /var/opt/SID/application_a/log/ -rw-rw-rw- 1 user1 user1 59698 Jun 11 2013 log1 -rw-rw-rw- 1 user1 user1 59698 Jun 10 2013 log2 /var/opt/SID/application_b/log/ -rw-rw-rw- 1 user1 …
38 shell  find  pipe  xargs 

3
GNU查找并掩盖了某些shell的{}-哪个?
GNU查找手册页指出: -exec command ; [...] The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find. Both of these constructions might need to be escaped (with …
34 shell  find  xargs  quoting 

4
查找-exec + vs查找| xargs:选择哪一个?
我了解-exec可以+选择模拟的行为xargs。在任何情况下,您都喜欢一种形式而不是另一种形式吗? 如果只是避免使用管道,我个人倾向于使用第一种形式。我确定肯定开发人员find必须进行适当的优化。我对么?
32 bash  find  pipe  xargs 

4
如何找到文件,然后使用xargs移动它们?
我想找到一些文件,然后将其移动。 我可以通过以下方式找到文件: $ find /tmp/ -ctime -1 -name x* 我试图通过以下方式将它们移动到我的~/play目录中: $ find /tmp/ -ctime -1 -name x* | xargs mv ~/play/ 但这没用。显然,mv需要两个参数。 不确定是否(或如何)在mv命令中引用xargs“当前项”?
28 find  rename  xargs 


5
如何使`xargs`忽略孩子的出口并继续处理
我有时xargs整夜都从事长时间的工作,而早上发现xargs死在中间某个地方真的很烦,例如,由于一个特殊情况下的分割错误,就像今天晚上发生的那样。 如果甚至有一个xargs孩子被杀,它也将不再处理任何输入: 控制台1: [09:35:48] % seq 40 | xargs -i --max-procs=4 bash -c 'sleep 10; date +"%H:%M:%S {}";' xargs: bash: terminated by signal 15 09:35:58 3 09:35:58 4 09:35:58 2 <Exit with code 125> 控制台2: [09:35:54] kill 5601 我可以以某种方式阻止xargs子进程死后停止处理更多输入,而是继续处理吗?
24 kill  xargs  signals 

4
find + xargs:参数行太长
我有如下一行: find /foo/bar -name '*.mp4' -print0 | xargs -i {} -0 mv -t /some/path {} 但出现以下错误: xargs: argument line too long 我很困惑。使用不是xargs应该精确地解决这个问题吗? 注意:我知道我可以-exec在find中使用技术,但是我想理解为什么上面的方法失败,因为我的理解xargs是应该知道如何将输入拆分为可管理的大小,以适应其运行的参数。这不是真的吗 这就是zsh的全部。
21 xargs  arguments 

6
具有stdin / stdout重定向的xargs
我想跑步: ./a.out < x.dat > x.ans 对于目录A中的每个* .dat文件。 当然,可以通过bash / python /任何脚本来完成,但是我喜欢写性感的单行代码。我所能达到的是(仍然没有任何标准输出): ls A/*.dat | xargs -I file -a file ./a.out 但是xargs中的-a无法理解replace-str'file'。 谢谢你的帮助。


1
使用tail时将换行符转换为以空分隔符
如何将输出更改tail为使用以空终止的行而不是换行? 我的问题与此相似:如何在bash中以空定界输入执行“ head”和“ tail”操作?,但不同之处在于我想执行以下操作: tail -f myFile.txt | xargs -i0 myCmd {} "arg1" "arg2" 我没有使用find,因此无法使用-print0 所有这些都是为了避免在xargs中发生错误: xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.