功能:将标准输入分割后转化为命令参数。
例子:echo "*.py"| xargs find ./ -name,查找当前目录下的所有py文件。 -d 制定分隔符
默认情况下,xargs将空格和换行符作为分隔符,xargs -d "\t" command指定\t为分隔符 -p -t
-p在执行命令前会打印命令并确认,-t只会打印命令,不用确认。 -0 与find
由于xargs默认将空格作为分隔符,所以不太适合处理文件名,因为文件名可能包含空格。
find命令有一个特别的参数-print0,指定输出的文件列表以null分隔。然后,xargs命令的-0参数表示用null当作分隔符。
find /path -type f -print0 | xargs -0 rm
上面命令删除/path路径下的所有文件。由于分隔符是null,所以处理包含空格的文件名,也不会报错。 -n
-n指定每次将多少项作为命令行参数
echo a b c | xargs -n 1 -t echo
# echo a
# a
# echo b
# b
# echo c
# c
-I
指定参数位置,xargs默认将参数放在命令最后,-I可以指定占位符。
echo ./ | xargs -I pos find pos -name "*.py"查找当前目录下的py文件,pos为占位符
--max-procs
用-n参数时,命令会执行多次,默认一个进程执行,--max-procs可以指定最多使用几个进程,--max-procs 0不限制进程
Comments NOTHING