如何在小牛中递归应用标签?


9

现在,小牛删除了丑陋的彩色条,并用漂亮的圆点代替了它,我想更多地使用标签。

基本上,我在不同地方有处理不同项目的工作文件,我想将标记应用于特定文件夹中包含的所有文件。这些文件将来可能会移动到新文件夹中(位于原始文件夹之外),因此我想将标签递归地应用于文件夹,以便将其从文件夹中移出时可以更容易地找到它。

Answers:


7

您可以使用xattr在Mavericks中编写与“新”标签相关的各种元数据。约翰·西拉库萨(John Siracusa)已经在这里进行了繁重的工作。

本质上,您需要向文件中写入两个属性com.apple.FinderInfo和com.apple.metadata:_kMDItemUserTags。最简单的方法是获取一个标记了您想要的文件,然后从中复制属性。打开终端并转到包含您要递归标记的文件夹的目录。然后输入:

touch sampleFile
open .

这将打开Finder,以便您可以对sampleFile进行标记,以及如何对所有其他文件进行标记。标记完成后,切换回终端窗口并输入:

find yourDirName -type f | xargs xattr -wx com.apple.FinderInfo \
"`xattr -px sampleFile`"

find yourDirName -type f | xargs xattr -wx com.apple.metadata:_kMDItemUserTags \
"`xattr -px com.apple.metadata:_kMDItemUserTags sampleFile`"

这将递归地向下钻取并标记yourDirName中的所有文件以及任何子目录中的文件。如果要标记子目录和文件,可以保留-type f参数。

最后,您可以更改

find yourDirName -type f

命令

find yourDirName -iname "*.ext"

如果您只想标记某些文件类型/扩展名。


爱它。我读了同样的Ars评论,我想知道如何将所需的元数据附加到每个文件。
史蒂夫·

10

通过Macports / Homebrew有一个CLI标记工具:https : //github.com/jdberry/tag

它似乎没有递归选项,但是,我想您可以将其与标准UNIX“查找”结合使用。

例如,(从您要标记文件的目录内部)

find . -exec tag --add tagname {} \;  -print 

当前版本(标记v0.8.1)支持使用tag -e -d --add tagname path
Munkymorgy,

3

一种简单的方法是使用Spotlight搜索生成您感兴趣的所有文件的列表。如何执行此操作的示例:

  • 在Finder中,导航到您感兴趣的文件夹结构的顶部。
  • 键入-kind:folder在Spotlight搜索栏

    这将搜索不是文件夹的所有文件(-符号将否定结果)。

  • 通过单击Spotlight搜索字段下方搜索条件中的文件夹名称,确保将搜索范围限制为所需的文件夹层次结构。

现在,在Finder窗口中将具有该文件夹层次结构中所有文件的列表。现在,选择所有文件并使用Finder以通常的方式应用所需的标签变得很简单。

使用不同的Spotlight搜索来满足您的需求。

通过使Spotlight始终在当前文件夹而不是在以下文件夹中搜索,可以使此过程稍微容易一些This Mac

Finder -> Preferences -> Advanced -> When performing a search: Search the current folder


1

转到顶部文件夹并搜索“。” 在该文件夹中。

选择所有文件并标记它们。

您可能需要删除标签,然后重新应用它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.