3

マック OS X 10.6

間違ったボリュームを指しているエイリアスがいくつかあります。階層全体でそのようなエイリアスを検索したいと思います。それらはシンボリックリンクではなくエイリアスであるため、単に行うことはできませfind / -type l -ls | grep badVolumeNameん.

エイリアスには com.apple.ResourceFork があるようですが、これをクエリするとxattrバイナリ データが返されます。不正なボリューム名を grep できるように、エイリアスのターゲットをテキストとしてダンプする方法はありますか? または、これを行う別の方法は何ですか?

4

1 に答える 1

3

エイリアス ファイルを見つけるには、StackOverflow でこの回答を利用できます。まず、スクリプトを作成しますis_alias.sh

#! /bin/bash
[ "$(mdls -raw -name kMDItemKind "$1")" = "Alias" ]

そして実行します

find . -type f -exec ./is_alias.sh {} \; -print

エイリアスのパスを取得するのはかなり難しいようです。

誰かが MacPerl を使用したソリューションを投稿しましたが、私は MacPerl を持っていないので、これをテストしておらず、動作するかどうかもわかりません。

AskDifferent にも同様の質問があり、いくつかの異なる提案がありますが、実際に問題を解決しているようには見えません。Applescript の回答は問題ありませんが、エイリアス ファイルの「元のアイテム」を取得するキー操作は、壊れたエイリアスに対しては機能しないようです。

また、いくつかの Cocoa ソリューションが含まれている可能性があるこの質問もご覧ください。

于 2013-07-13T09:40:46.540 に答える