功能:将标准输入分割后转化为命令参数。
例子: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
不限制进程
参考链接
https://ruanyifeng.com/blog/2019/08/xargs-tutorial.html
标签:xargs,echo,命令,参数,分隔符,find From: https://www.cnblogs.com/hellozhangjz/p/17753934.html