Mac

コマンドライン経由でMac App Storeからダウンロードしたすべてのアプリを一覧表示する

コマンドライン経由でMac App Storeからダウンロードしたすべてのアプリを一覧表示する

ターミナルからMac App Storeアプリを一覧表示する便利なターミナルコマンドを使えば、Macにインストールされているアプリのうち、Mac App Storeからのみ入手したアプリのリストを表示できます。これは、マシンを移行する際に公式App Storeチャネル以外から置き換えたいアプリのリストを作成する場合や、SSH経由でリモートMacで作業していて、どのアプリが不足しているかを確認したい場合など、さまざまな場面で役立ちます。App Storeの購入履歴を確認して手動でリストを作成することもできますが、そのリストにはMacに実際にインストールされていないアイテムも表示されるため、あまり役に立ちません。


これらのトリックはコマンドラインとターミナルを使用するため、少し高度です。とはいえ、コマンド文字列をターミナルにコピー&ペーストするだけなので、ターミナルの使い方をもう少し詳しく知りたい初心者でも、このチュートリアルで学ぶことができます。ターミナルの使い方がわからない方のために、Terminal.app は常に /Applications/Utilities/ にあります。

Mac App Storeからダウンロードしたすべてのアプリを表示する方法

次のコマンドをコピーしてターミナルに貼り付けます。
find /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##'

サンプル出力は次のようになります (この記事では簡略化しています)。
GarageBand.app
iMovie.app
Install OS X Mountain Lion.app
iPhoto.app
Pixelmator.app
Pocket.app
Skitch.app
Textual.app
TextWrangler.app
The Unarchiver.app
TweetDeck.app
Twitter.app
WriteRoom.app
Xcode.app

結果をテキスト ファイルに送信する方が便利な場合があります。これは、次のようにコマンドの末尾に「> appstorelist.txt」を追加するだけで簡単に実行できます。

find /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##' > macapps.txt

このコマンドには、ダウンロードされたが非表示になっているアプリも含まれます。

このようなアプリ リストは、別のマシン上のリストと簡単に比較でき、どのアプリをインストールする必要があるかを確認できます。

これはMac App Storeからダウンロードされたアプリのみのリストであることにご注意ください。Webから入手したファイルやアイテムなど、より包括的なリストが必要な場合は、このトリックを使ってMacにダウンロードされたすべてのファイルのリストを表示できます。

OS Xのすべてのアプリケーションを表示

OS Xのアプリケーションフォルダにインストールされているすべてのアプリを確認するには、lsコマンドでディレクトリをリストするだけです。これはコマンドラインを使う人にとってはおそらく明らかなことですが、ターミナルを初めて使う方やあまり使い慣れていない方のためにも説明します。

ls /Applications/

これには、/Applications ディレクトリにあるすべてのものが表示されます。これには、ユーザーがインストールしたすべてのアプリと、Mac App Store から入手したものが含まれます。

比較目的などのために、このようなリストをテキスト ファイルにも保存したい場合は、ターミナルから txt ドキュメントにリダイレクトするか、

ls /Applications/ > allmacapps.txt

あるいは、コマンドラインを使用せずに、このトリックを使用して Finder から直接リストをファイルに保存することもできます。

sed ベースのトリックについては CommandLineFu を参照してください。