Questions tagged «xargs»

类Unix操作系统中的实用程序,用于将大量参数传递给只能接受少量参数的程序


2
为什么需要xargs?
假设我要删除目录中除名为“ notes.txt”的文件以外的所有文件。我将使用管道来执行此操作ls | grep -v "notes.txt" | xargs rm。如果第二个管道的输出是rm应该使用的输入,为什么我需要xargs? 为了进行比较,管道echo "#include <knowledge.h>" | cat > foo.c将回显的文本插入文件中,而不使用xargs。这两条管道有什么区别?
25 bash  pipe  xargs  coreutils 

5
如何在Linux上使用xargs移动文件?
此问题是从Stack Overflow 迁移而来的,因为可以在Super User上回答。 迁移 6年前。 我正在尝试此操作,但无法正常工作: ls file_* | xargs mv {} temp/ 有任何想法吗?
24 linux  xargs  mv 

4
在OSX中替换xargs -d
在Linux中,您可以使用xargs -d,以下hostname命令对具有顺序名称的四个不同服务器快速运行该命令: echo -n 1,2,3,4 |xargs -d, -I{} ssh root@www{}.example.com hostname 看起来OSX xargs命令不支持delimiter参数。您可以使用格式不同的echo或通过其他命令行实用程序来获得相同的结果吗?
22 macos  xargs 



8
如何与xargs一起使用两个参数?
我需要转换视频,但是我不知道它们在哪里,所以我需要find它们。我怎么能放弃的结果和输出文件名的FFmpeg用xargs? 我已经发现可以使用此命令构造两个参数: find . -iname "*.mov" -printf "%p %f\n" 我在xargs手册中找不到任何相关内容。我想要这样的东西: find . -iname "*.mov" -printf "%p %f\n" | xargs ffmpeg -i {param1} -f flv {param2} 我怎样才能做到这一点?


5
如何在目录中超过1000万个文件上运行sed?
我有一个包含10144911文件的目录。到目前为止,我已经尝试了以下方法: for f in ls; do sed -i -e 's/blah/blee/g' $f; done 摔坏了我的贝壳,ls它在一个tilda中,但是我不知道该怎么做。 ls | xargs -0 sed -i -e 's/blah/blee/g' 的args太多 sed find . -name "*.txt" -exec sed -i -e 's/blah/blee/g' {} \; 无法再分叉没有更多的内存 关于如何创建这种命令还有其他想法吗?这些文件不需要相互通信。ls | wc -l似乎可以正常运行(非常慢),因此必须可行。
16 bash  find  xargs 

1
xargs -I replace-str选项的区别
据我了解,以下含义应完全相同: ls -1 | xargs file {} ls -1 | xargs -I{} file {} 如果未指定-I选项,则默认为-I {}。 我想列出当前目录中的所有文件,并对每个文件运行file命令。有些名称中有空格。但是,我注意到了差异。见下文: $ ls -1 Hello World $ ls -1 | xargs file {} {}: ERROR: cannot open `{}' (No such file or directory) Hello: ERROR: cannot open `Hello' (No such file or directory) World: …
16 bash  xargs 


2
xargs --replace / -I用于单个参数
我正在尝试使用xargs为每个提供的参数运行命令,但是不幸的是,当与-n共轭时,--replace / -I标志似乎无法正常工作。不论-n选项如何,{}似乎都会扩展到从stdin读取的参数的完整列表。 不幸的是,网络上的所有示例似乎都是针对命令(mv,cp,rm)的,这些命令将在展开{}的位置接受多个参数。 例如,运行时: echo a b c d | xargs -n 1 -I {} echo derp {} 输出为: derp a b c d 但我期望: derp a derp b derp c derp d 但是,在没有-I {}的情况下运行它会产生预期的结果: echo a b c d | xargs -n 1 echo derp derp a derp …

4
查找:-exec vs xargs(又名“ find | xargs basename”为什么会中断?)
我试图找到散布在子目录中的所有特定类型的文件,而出于我的目的,我只需要文件名。我尝试通过剥离路径组件basename,但不适用于xargs: $ find . -name '*.deb' -print | xargs basename basename: extra operand `./pool/main/a/aalib/libaa1_1.4p5-37+b1_i386.deb' Try `basename --help' for more information. 通过以下两种变化之一,我得到相同的结果(完全相同的错误): $ find . -name '*.deb' -print0 | xargs -0 basename $ find . -name '*.deb' -print | xargs basename {} 另一方面,这可以按预期工作: $ find . -name '*.deb' -exec basename {} …
10 command-line  find  gnu  xargs 

4
如何在源文件中grep某些文本?
目前,我正在使用两个命令,我确定必须有更好的方法... wim@wim-acer:~/ffmpeg$ find . -name "*.h" -print0 | xargs -0 grep -i invalid\ preset wim@wim-acer:~/ffmpeg$ find . -name "*.c" -print0 | xargs -0 grep -i invalid\ preset
8 bash  grep  pipe  xargs 

2
Xargs和Wget一小时后停止工作
在Windows XP上使用Cygwin在双核和4GB Ram上运行脚本 cat url_list.txt | xargs -P50 wget -i 我正在尝试浏览4GB的URL进行下载(大约4300万) 大约一个小时就可以正常工作,然后Bash Shell和下载停止,即使通过URL列表仅获得2%的下载。 有什么想法可能是错的吗? 调试为什么一个小时后停止的最佳方法是什么?
8 wget  url  xargs  cat 

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.