3

Mac OSX 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 回答