如何无需逐个运行,识别macOS系统中的所有32位应用?
刚好之前帮朋友处理过macOS系统迁移前的32位应用排查工作,给你分享两种实用方法,不管是习惯图形界面还是终端命令都能轻松搞定:
方法一:通过GUI快速查看(适合不熟悉终端的用户)
这种方法不用敲命令,全可视化操作,几步就能找出所有32位应用:
- 打开「系统报告」:点击屏幕左上角的苹果图标 → 选择「关于本机」→ 点击窗口底部的「系统报告」;或者用Spotlight快捷键(Cmd+空格)搜索「系统报告」直接打开。
- 在左侧导航栏的「软件」分类下,找到并点击「应用程序」选项。
- 查看右侧的应用列表,找到「64位(Intel)」这一列,点击列标题可以按“是/否”排序,所有显示「否」的应用就是32位的。
- 更高效的方式:直接在右上角的搜索框输入「64位(Intel): 否」,系统会自动过滤出所有32位应用,不用手动翻找。
方法二:通过Terminal命令批量导出清单(适合需要保存或批量处理的用户)
如果需要把32位应用的清单保存下来整理,用终端命令会更高效,直接运行下面的命令,结果会自动保存到桌面的「32位应用清单.txt」文件里:
find /Applications -name "*.app" -exec bash -c 'file -N -- "$0/Contents/MacOS/$(defaults read "$0/Contents/Info.plist" CFBundleExecutable 2>/dev/null)" | grep -q "32-bit" && echo "$0"' {} \; > ~/Desktop/32位应用清单.txt
命令说明:
find /Applications:遍历系统级的「应用程序」文件夹下所有.app格式的应用包file命令:检测应用主可执行文件的架构类型- 最终把所有32位应用的完整路径输出到桌面的文本文件,方便后续查看和标记。
如果还要扫描你个人文件夹里的应用(比如~/Applications),可以把命令修改为:
find /Applications ~/Applications -name "*.app" -exec bash -c 'file -N -- "$0/Contents/MacOS/$(defaults read "$0/Contents/Info.plist" CFBundleExecutable 2>/dev/null)" | grep -q "32-bit" && echo "$0"' {} \; > ~/Desktop/32位应用清单.txt
小提示:
大部分应用只有一个主可执行文件,上面的命令已经能覆盖99%的场景;如果遇到少数包含多个可执行组件的特殊应用,你可以右键点击应用包选择「显示包内容」,手动检查Contents/MacOS下的文件架构,但日常使用完全没必要这么麻烦。
内容的提问来源于stack exchange,提问作者nohillside




