Shi*_*dim 28
xargs rm将rm使用所有参数作为参数调用,并以空格分隔。
xargs -i{} rm {}将为rm {}每个参数调用,{}并将被当前参数替换。
如果您有 2 个参数a.txtand b.txt,xargs rm 将调用它
rm a.txt b.txt
Run Code Online (Sandbox Code Playgroud)
但是xargs -i{} rm {}会叫
rm a.txt
rm b.txt
Run Code Online (Sandbox Code Playgroud)
这是因为-i选项隐含了-L 1选项,这意味着该命令每次rm只占用1一行。这里每一行只包含 1 个参数。
查看此Ideone 链接以了解更多相关信息。
小智 6
-ioption (相当于--replace)创建一种占位符,其中 xargs 存储刚刚收到的输入。在第二个命令中,占位符是{},它的作用类似于 find-exec选项。定义后,xargs 将用整行输入替换此占位符。如果您不喜欢\xe2\x80\x99 这个{}名称,您可以定义自己的名称:
ls | xargs -iPLACEHOLDER echo PLACEHOLDER\nRun Code Online (Sandbox Code Playgroud)\n在您的情况下,两个命令都会产生相同的结果。在第二种形式中,您只是使用该-I选项明确显示默认行为。
| 归档时间: |
|
| 查看次数: |
11891 次 |
| 最近记录: |