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 -
wget
cat url.txt | xargs wget -c

浙公网安备 33010602011771号