1 -d 分隔符

默认情况想 xargs 将其标准输入中的内容以空白(包括空格,Tab,回车等)分割成多个字符串。

-d 用来指定分隔符

$ echo '11@22@33' | xargs echo
11@22@33

$ echo '11@22@33' | xargs -d '@' echo
11 22 33

2 -p 输出命令

使用该选项之后xargs并不会马上执行其后面的命令,而是输出即将要执行的完整的命令(包括命令以及传递给命令的命令行参数),询问是否执行,输入 y 才继续执行,否则不执行。

$ echo '11@22@33' | xargs -p -d '@' echo
echo 11 22 33
?...y # 这里询问是否执行命令 echo 11 22 33 输入y并回车,则显示执行结果,否则不执行
11 22 33 # 执行结果

3 -i 指定位置

-i 可以指定参数的位置

grep jar readme.txt | xargs -i cp {} runtime/  

就可以将readme.txt 文件中的jar文件复制到runtime目录中。