查看xargs命令的帮助文档:man xags
结果如下:
NAME
xargs - build and execute command lines from standard input
SYNOPSIS
xargs [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null] [-d delimiter] [--delimiter delimiter] [-I
replace-str] [-i[replace-str]] [--replace[=replace-str]] [-l[max-lines]] [-L max-lines] [--max-lines[=max-
lines]] [-n max-args] [--max-args=max-args] [-s max-chars] [--max-chars=max-chars] [-P max-procs]
[--max-procs=max-procs] [--interactive] [--verbose] [--exit] [--no-run-if-empty] [--arg-file=file] [--version]
[--help] [command [initial-arguments]]
.....
xargs是一个非常强大的命令,可以取一个命令的输出作为另一个命令的参数。
xargs命令的经典使用模式,是和管道一起配合使用:XXcomand | xargs -x comand initial-args
-x表示xargs命令的一些选项,具体的选项,看上面的帮助文档。
xargs命令的一些经典使用场景:
1、删除某个目录下,所有.bak后缀的文件:
# find . -name '*.bak' | xargs rm -f
备注:find命令查找出符合条件的文件,xargs命令,将find找到的每一个文件,作为参数,传给rm命令进行处理。
2、当你想下载一些URL,这些URL都保存在一个文件里,你可以以如下的方式使用xargs命令
# cat url-list.txt | xargs wget –c
3、使用ls命令,查看所有.conf后缀的文件:
# find . -name "*.conf" | xargs ls –l
4、查找所有的jpg 文件,并且压缩它
# find / -name '*.jpg' -type f -print | xargs tar -cvzf images.tar.gz
5、查找所有有引用SimpleDateFormat这个类的java文件:
# find . -name '*.java' | xargs grep SimpleDateFormat