我还没有找到Mac的find没有-printf选项的原因。 苹果通常会决定去掉与其他命令不正交的选项?
如何在没有 coreutils 的情况下在 Mac 中达到与以下命令相同的结果?
find . -printf "%i \n" // command in Ubuntu
最佳答案
并不是 Apple 删除了选项,而是 OS X 的 UNIX 基础大部分(迂回地)源自 FreeBSD,其中许多部分可以追溯到原始 UNIX...而不是 GNU 实用程序,后者是重新定义的。 -添加了许多功能的实现。
在本例中,FreeBSD's find(1)
不支持 -printf
,所以我也不希望 OS X 也支持。相反,这应该适用于 BSD 风格的系统:
find . -print0 | xargs -0 stat -f '%i '
但是,它会在 GNU 用户态系统上失败,您可以在其中编写 xargs -0 -r stat -c '%i '
因为 xargs(1)
code> 和 stat(1)
行为不同。
关于macos - find 缺少选项 -printf,现在怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752818/