![为什么 xargs 中常用“{}”和“%”作为 replstr?](https://linux22.com/image/61106/%E4%B8%BA%E4%BB%80%E4%B9%88%20xargs%20%E4%B8%AD%E5%B8%B8%E7%94%A8%E2%80%9C%7B%7D%E2%80%9D%E5%92%8C%E2%80%9C%25%E2%80%9D%E4%BD%9C%E4%B8%BA%20replstr%EF%BC%9F.png)
我经常看到xargs -I {}
或xargs -I %
(较少)。这两个常用的原因是什么?为什么{}
更受欢迎,因为它更长并且更容易被错误解释?
答案1
{}
也见于find
、 和python
。在大多数编程语言中 -family 命令%
都有悠久的历史传统,但主要作为orprintf
等序列的前缀,因此单独使用它并不是第一个想法。%s
%d
还有一个更简单的原因。如果您没有指定其他开关,则暗示该-i
开关现已弃用。{}
看来最初的开发人员使用了这种形式(很可能受到 的启发find
),并在使用 的教程中提供了默认设置和一系列丰富的示例使用{}
。其余用户只是传播了这个选择。
答案2
这回答了为什么(某种程度上)的问题:
“{}”很常见,因为参数源于同一个家庭寻找, 和寻找对 exec 和 exedir 使用“{}”。
为什么寻找但我不知道使用“{}”。 :)