Articles of xargs

如何批量使用Image Magic批量转换多个子目录中的图像

我有〜100个子目录每个有〜1000个文件我想转换JPG到PNG使用Image Magick在BASH for Win10即LINUX script 。 我的脚本很慢,可以加速吗? find . -type f -name '*.jpg' -exec sh -c ' orgfile="$0" newfile="$(echo "$0" | sed 's/.jpg/.png/')" echo $orgfile $newfile convert $orgfile -unsharp 0x5 $newfile rm $orgfile ' {} \; 我喜欢循环过程,因为convert是多个进程中的第一个,所以input和输出名称可以重用。 然而,它的缓慢和回声有反馈(改变每个目录?) 在一篇相关的文章中给出了以下解决scheme # Runs these conversions serially ls *.NEF | sed 's#.NEF##' | xargs -I^ convert ^.NEF ^.jpg […]

如何从文本文件中传递参数以在gdb下运行程序?

我想使用像gdb下的命令一样的function。 $ cat arg.txt | xargs ./binary 有什么办法可以做到吗?

xargs bash -c意外标记

我遇到了一个问题,在一个bash脚本中调用xargs来并行化一个函数的启动。 我有这条线: grep -Ev '^#|^$' "$listOfTables" | xargs -d '\n' -l1 -I args -P"$parallels" bash -c "doSqoop 'args'" 启动我之前导出的函数doSqoop 。 我传递给xargs然后bash -c一个很长的行,包含我在函数内部分割和处理的字段。 这是类似于schema|tab|dest|desttab|query|splits|….我通过上面的grep命令从文件读取。 我很好,这个解决scheme,我知道xargs可以拆分| 但是我可以这样。 它过去工作得很好,因为我不得不在最后添加另一个字段,其中包含这种值: field1='varchar(12)',field2='varchar(4)',field3='timestamp',…. 现在我有这个错误: bash: -c: line 0: syntax error near unexpected token '(' 我试图逃避pharhentesis和单引号,没有成功。 在我看来, bash -c正在解释这些论点

如何去除多行中的单行重复单词

现在,我正在通过命令xargs -n1 | sort -u | xargs一些行 xargs -n1 | sort -u | xargs xargs -n1 | sort -u | xargs (我在这里find: sorting和删除一行中的重复单词 )。 但是,我的问题是,当pipe道多条线,它把所有的线在一起。 我怎样才能通过: My first example line for example My second example line for example My third example line for example 并得到: My first example line for My second example line for […]

recursion重命名文件并删除一个字符

有一些文件名包含'?' 正如你所知道的Windows有这样的字符问题。 我想用xargrecursion地重命名文件夹中的所有文件。 例如 09 – grand hall?_10.mp3 应该 09 – grand hall_10.mp3

如何在多个主机上使用ssh和xargs运行bash脚本,而脚本不会复制到每个主机上?

如何在多个主机上使用ssh和xargs运行bash脚本,而脚本不会复制到每个主机上? 这工作, ssh host1.com bash -s <〜/ httpd-conf / weblogrotate.sh 这不起作用, 猫webserver.hosts | xargs -I%ssh%bash -s <〜/ httpd-conf / weblogrotate.sh tcsh:模糊inputredirect。 猫webserver.hosts host1.com host2.com host3.com

pipe道参数:echo“value1 value2”| 命令$ 1 $ 2

我用Sed来抓住两个有趣的值。 现在我想把这两个值作为参数发送给Curl。 我已经成功地将Sed输出pipe道输出到Curl,只有一个参数使用xargs,但是我无法为一个命令使用两个参数。 回声“值1”“值2”| curl –data'valA = $ 1 &valB = $ 2'http: //example.com 我被困在理论和实践中。 我不打算使用bash脚本。 [我正在运行tshark,pipe道输出到sed,并希望pipe道输出curl,以便在远程数据库中logging数据。 ]

/ usr / bin / find参数列表太长

尝试使用以下命令行search从list.txt中排除的所有文件 find . -type f -name "*.ext" $(printf "! -name %s " $(cat list.txt)) 我得到以下结果 -bash: /usr/bin/find: Argument list too long 我也试过xargs,但不知道我是否正确使用它。 任何帮助,将不胜感激。

奇怪的错误,而在批处理脚本中使用查找

我正在尝试这段代码来调整文件夹内recursion大于1 MB的JPG文件。 find . -type f -size +1M -name "*.jpg" | xargs convert -resize 1000×1000\> -verbose 获取错误消息(在15-20次迭代之后中断批处理) xargs: convert: terminated by signal 9 如何解决这个问题?

复杂的bashpipe道在跳转中工作

我的意图是在一行中输出recursionwget日志,'状态栏'就好。 所以我组装了这个pipe道(我的wget调用有更多的select,但是我只留下了那些对于所描述的问题至关重要的东西): wget -r -nv ftp://example.com 2>&1 | cut -c1-80 | xargs -I line echo -ne 'line\033[0K\r' 让我解释一下我的意思。 也许我的命令有问题。 -r表示“recursion下载”; -nv使关于每个下载的消息变得简短,如:“time:URL – > local file”; &2>1将stderrredirect到stdout,所以我可以通过pipe道处理消息。 | cut -c1-80 | cut -c1-80将输出行剪切为80个字符。 有时URL和本地文件名一起构成一个长的string,将一行分成两行或更多。 我需要它来适应一个控制台的一行。 这里只是站在80这个例子。 在我的脚本中,我用tput cols来确定控制台宽度; | xargs -I line echo -ne 'line\033[0K\r' | xargs -I line echo -ne 'line\033[0K\r'打印上一个命令的输出并添加两个特殊字符: \033[OK – 行结束,清除行的其余部分,如果前面有任何字符输出; 和\r […]