FatFileのトリミング

lipo コマンドを使う。

lipo Terminal.bak -remove i386 -output Terminal

Terminal.bak から i386 のバイナリを削除してファイル名 Terminal で出力する。

fat file の検索

i386 のバイナリを有するファイルを検索する。

find . -type f  -perm -55 -exec file {} ; | grep i386 | sed 's/.for arch.*$//g'

ppc を探したければ grep ppc とする。

Firefox の例

fatbinary=(
./components/libjsd.dylib
./components/libmyspell.dylib
./components/libspellchecker.dylib
./components/libxpinstall.dylib
./libfreebl3.dylib
./libmozjs.dylib
./libnspr4.dylib
./libnss3.dylib
./libnssckbi.dylib
./libplc4.dylib
./libplds4.dylib
./libsmime3.dylib
./libsoftokn3.dylib
./libssl3.dylib
./libxpcom.dylib
./libxpcom_compat.dylib
./libxpcom_core.dylib
./libxpistub.dylib
#./plugins/Default Plugin.plugin/Contents/MacOS/Default Plugin 
./plugins/JavaEmbeddingPlugin.bundle/Contents/MacOS/JavaEmbeddingPlugin
./plugins/MRJPlugin.plugin/Contents/MacOS/MRJPlugin
./updater.app/Contents/MacOS/updater
./xpicleanup
)
for name in ${fatbinary[@]}
do
    backupfile="${name}.bak"
    cp ${name} ${backupfile}
    lipo ${backupfile} -remove i386 -output ${name}
    echo $name
done

参考ページ