xargs 命令
xargs 是一条 Unix 和类 Unix 操作系统的常用命令;
它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。
可单独使用,也可使用管道符、重定位符等与其他命令配合使用。
常用命令参数:
# 命令替换 -t 先打印命令,然后再执行 -i 用每项替换 {} find / -perm +7000 | xargs ls -l # 将前面的内容,作为后面命令的参数 seq 1 10 |xargs -i date -d "{} days " +%Y-%m-%d # 列出10天日期
示例:
rm `find /path -type f` 如果path目录下文件过多就会因为“参数列表过长”而报错无法执行。但改用xargs以后,问题即获解决。 find /path -type f -print0 | xargs -0 rm 本例中xargs将find产生的长串文件列表拆散成多个子串,然后对每个子串调用rm。这样要比如下使用find命令效率高的多。 find /path -type f -exec rm '{}' \; 上面这条命令会对每个文件调用"rm"命令。当然使用新版的"find"也可以得到和"xargs"命令同样的效果: find /path -type f -exec rm '{}' + xargs的作用一般等同于大多数Unix shell中的反引号,但更加灵活易用,并可以正确处理输入中有空格等特殊字符的情况。对于经常产生大量输出的命令如find、locate和grep来说非常有用