找不到 -printf 选项,现在怎么办?

15 浏览
0 Comments

找不到 -printf 选项,现在怎么办?

我还没有找到一个原因,解释为什么Mac的find命令没有\"-printf\"选项。\n苹果通常决定删除那些与其他命令不兼容的选项?\n在Mac上如何实现与以下Ubuntu命令相同的结果,但不使用coreutils?\n

find . -printf "%i \n"         // Ubuntu中的命令

0
0 Comments

问题的原因是Mac的find命令缺少了-printf选项。解决方法是安装GNU find工具,可以通过findutils软件包、fink、MacPorts或Homebrew来安装。安装完成后,可以使用gfind命令替代find命令来使用GNU版本的find工具。

0
0 Comments

问题:find命令缺少选项-printf,现在怎么办?

原因:在MacOS中,find二进制文件不支持-printf参数。

解决方法:可以使用gfind命令,它支持-printf选项。可以通过brew install findutils命令来安装gfind。

该解决方法也适用于FreeBSD和FreeBSD Jails操作系统。

注:感谢t h e_r e a l_m v p提供的信息。

0
0 Comments

问题的出现原因是,由于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的参数扩展功能来实现。

0