xargs
-
a b c d e f g h i j k l m n o p q r s t u v w x y z
-
默认使用所有, 且于最后
-
-n --max-args=MAX-ARGS use at most MAX-ARGS arguments at a time
使用 -n1 使 xargs 每次传入一个参数, 也是位于最后 -
-I --replace=mark
-I 可以改变参数位置, 但是似乎与 -n 冲突
-n 和 -I 位置不同效果不同, 效果是 在后面使用的 覆盖了前一个选项
我的经验是,使用管道,避免同时使用 -n 和 -I -
-a --arg-file=FILE read arguments from file, not standard input
xargs 默认从stdin 读入 可使用 -a 使其从文件读入 -
-t --verbose print commands before executing them
debug -
-d --delimiter=CHARACTER
多用管道处理 -
复制所有图片文件到 /data/images 目录下
ls *.jpg | xargs -I {} cp {} /data/images
-
用 rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long. 用 xargs 去避免这个问题
find . -type f -name "*.log" -print0 | xargs -0 rm -f
-
统计一个源代码目录中所有 php 文件的行数
find . -type f -name "*.php" -print0 | xargs -0 -wc --lines
-
查找所有的 jpg 文件,并且压缩它们
find . -type f -name "*.jgp" -print | xargs tar -cvzf image.tar.gz
-
cat url.txt | xargs wget -c