Shi*_*dim 28
xargs rm
将rm
使用所有参数作为参数调用,并以空格分隔。
xargs -i{} rm {}
将为rm {}
每个参数调用,{}
并将被当前参数替换。
如果您有 2 个参数a.txt
and 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
-i
option (相当于--replace
)创建一种占位符,其中 xargs 存储刚刚收到的输入。在第二个命令中,占位符是{}
,它的作用类似于 find-exec
选项。定义后,xargs 将用整行输入替换此占位符。如果您不喜欢\xe2\x80\x99 这个{}
名称,您可以定义自己的名称:
ls | xargs -iPLACEHOLDER echo PLACEHOLDER\n
Run Code Online (Sandbox Code Playgroud)\n在您的情况下,两个命令都会产生相同的结果。在第二种形式中,您只是使用该-I
选项明确显示默认行为。
归档时间: |
|
查看次数: |
11891 次 |
最近记录: |