xargs的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题,其作用一般等同于shell中反引号,但更加灵活,并可以正确处理输入中的空格等特殊字符的情况。
命令的一般形式:xargs [option...] [command [initial-arguments]]
选项
-a inputfile
或--arg-file=inputfile
,从inputfile读取名字而不是标准输入。如果使用了这个选项,标准输入流在命令执行时将保持不变,否则stdin从重定向自/dev/null
。-
-0
或--null
,(-0
是数字0)输入文件名将以null字符而不是空白符结束,任何引号和反斜杠将不被特殊处理(每个字符取字面义)。Disables the end of file string, which is treated like any other argument. -
-d delim
或--delimiter delim
,输入文件名以指定的字符而不是空白符结束,任何引号和反斜杠将不被特殊处理(每个字符取字面义)。Disables the end of file string, which is treated like any other argument。一般是单个字符,不支持多字节字符。 -
-I replace-str
或-i[replace-str]
或--replace[=replace-str]
,用stdin读取的名字替换初始参数中出现的replace-str
,replace-str
默认是{}
。 -
-r
或--no-run-if-empty
,如果标准输入是空的,不执行命令。默认情况下,命令至少执行一次,即使没有输入。 -
-t
或--verbose
,在stderr上输出命令,在命令执行前。 -
-p
,在命令执行前让用户确认是否执行。 -
-P max-procs
或--max-procs=max-procs
,任意时刻,同时执行命令的最大进程数。默认是1。如果是0,xargs将同时运行尽可能多的进程。 -
L max-lines
或-l[max-lines]
或--max-lines[=max-lines]
,每个命令行最多处理max-lines
个非空白输入行。 -
-n max-args
或--max-args=max-args
,每个命令行最多使用max-args
个参数。 -
-s max-chars
或--max-chars=max-chars
,每个命令行最多使用max-chars个字符,包括命令、初始化参数和参数字符串的结束符。 -
-x
或--exit
,如果超出了-s
选项指定的大小将退出。 -
--process-slot-var=environment-variable-name
,
继续阅读