一、常用用法
1 | 其他命令的输出 | xargs [command] [initial-arguments] |
二、含义与选项
2.1、含义
解析命令字符串并执行。一般情况下,其他命令的输出以“空格”或者“换行符”为分隔符隔开为多个部分,对于每个部分,“xargs”后面的命令都会执行一次。
2.2、选项表示的意思
“command”:欲执行命令,默认命令是“echo”
“initial-arguments”:欲执行命令的初始化参数
“其他命令的输出”:欲执行命令除“initial-arguments”之外的参数来源
三、样例
3.1、样例1
执行命令:
1 | echo "" | xargs ls -lrt |
得到如图1所示结果:
图1
3.2、样例2
执行命令:
1 | echo "-l" | xargs ls -rt |
得到如图2所示结果:
图2
3.3、样例3
执行命令:
1 | echo "-lrt" | xargs ls |
得到如图3所示结果:
图3
3.4、样例4
执行命令:
1 | echo "" | ls |
得到如图4所示结果:
图4
3.5、样例5
执行命令:
1 | echo "a.sh" "b.sh" | xargs stat |
得到如图5所示结果:
图5
以上验证了一般情况下,其他命令的输出以“空格”或者“换行符”为分隔符隔开为多个部分,对于每个部分,“xargs”后面的命令都会执行一次
。
3.6、样例6
与find命令联用的场景中,如果结果文件路径中有空格符,使用xargs命令需要加上-d '\n'
选项以表示只将“换行符”作为分隔符,避免将一个含有空格字符的文件路径作为两部分分别传入导致出现没有那个文件或目录
错误。