找不到 -printf 选项,现在怎么办?
问题的出现原因是,由于OS X的UNIX基础主要是从FreeBSD派生而来的,而FreeBSD的find命令不支持-printf选项,因此在OS X上也不会支持该选项。解决方法是使用BSD风格的命令,例如在BSD风格的系统上可以使用以下命令:find . -print0 | xargs -0 stat -f '%i'。如果在GNU用户环境下,该命令会失败,需要使用不同的命令格式,例如xargs -0 -r stat -c '%i'。另外,还可以使用MacPorts中的indutils包中的gfind命令来替代find命令。如果想要打印文件名而不是数字,可以使用stat命令的不同格式值,例如替换%i为%N可以打印文件名,即find . -print0 | xargs -0 stat -f '%N'。如果只想要文件的基本名称,可以使用basename命令或Bash的参数扩展功能来实现。