Articles of xargs

xargs和发现,rm抱怨文件名中的\ n(换行符)

我想用Debian中的脚本删除树中最旧的文件。 find /home/backups -type f \( -name \*.tgz -o -name \*.gz \) -print0 | xargs -0 ls -t | tail -1 | xargs -0 rm 但是我得到一个错误: rm: cannot remove `/home/backups/tree/structure/file.2011-12-08_03-01-01.sql.gz\n': No such file or directory 任何想法我做错了(或有一个更容易/更好的方法?),我试图RTFM,但我迷路了。

什么时候xargs应该比while-read循环更受欢迎?

xargs被广泛用于shell脚本中; while read -r; do … done通常很容易在bash中重新使用这些用法while read -r; do … done while read -r; do … done或while read -ar; do … done while read -ar; do … done循环。 什么时候应该selectxargs ,什么时候应该读while循环?

如何在每个xargs命令之间rest1秒?

例如,如果我执行 ps aux | awk '{print $1}' | xargs -I {} echo {} 我想让shell在每个echo之间hibernate1秒钟。 我怎样才能改变我的shell命令?

我怎样才能通过在Linux中的命令中间的xargs的所有参数

我想在Linux上将所有文件作为单个parameter passing,但是我无法做到这一点。 这是工作 ls | sort -n | xargs -i pdftk {} cat output combinewd2.pdf 这每个命令传递一个参数,但是我希望所有命令都在一个命令中。

具有多个参数的xargs

我有一个源input, input.txt a.txt b.txt c.txt 我想将这些input提供给一个程序,如下所示: my-program –file=a.txt –file=b.txt –file=c.txt 所以我尝试使用xargs ,但没有运气。 cat input.txt | xargs -i echo "my-program –file"{} 它给 my-program –file=a.txt my-program –file=b.txt my-program –file=c.txt 但我想要 my-program –file=a.txt –file=b.txt –file=c.txt 任何想法?

如何在xargs中使用别名命令?

我在我的.aliases中有以下别名: alias gi grep -i 我想在所有名称中包含string的文件中查找foo不区分大小写的文件: find -name \*bar\* | xargs gi foo 这是我得到的: xargs: gi: No such file or directory 有没有办法在xargs中使用别名,还是我必须使用完整版本: find -name \*bar\* | xargs grep -i foo 注意:这是一个简单的例子。 除了gi我还有一些非常复杂的别名,我不能这么容易地手动扩展。 编辑:我用tcsh ,所以请指定一个答案是特定于shell的。