macos - find 缺少选项 -printf,现在怎么办?

标签 macos find printf

我还没有找到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/

相关文章:

objective-c - 在 Cocoa 中使用 NSPrintOperation

java - 如何在 mac 上查找正在运行的 java 进程的进程 ID?

ios - 新的 iOS/OSX 版本是否需要 Objective C?

javascript - 在 DOM 错误中查找全部替换

linux - 查找所有但跳过一个文件夹

javascript - 如何通过引用查找数组元素以便将数组与 typescript 合并?

php - 如何安装 ffmpeg-php Mac OS X 豹

c - 将数据写入文本或二进制的单个 C 函数

c - fgetc 总是返回值 1

perl - 有没有办法让 printf/sprintf 正确处理字符组合?