2 个版本

0.1.2 2022年4月24日
0.1.1 2022年4月24日

#280 in 视频

自定义许可协议

19KB
237

tagr - 跨平台文件标签!

tagr是一个简单的工具,用于将文件组织成标签,作为目录的补充。

为什么存在这个工具

让我们想象你正在上课程。你会在哪里存储你的讲座呢?

~/Documents/school/<course_id>/lectures/ ?
~/Videos/lectures/<course_id>/ ?
/mnt/drive/some_other_location/ ?

理想情况下,你能够使用这三种方法的组合,但由于我们被困在树状目录结构中,你将始终必须承诺于 一种。

tagr旨在解决这个问题。目标是提供一个接口,通过它可以管理任何平台上的文件标签。然后可以与其他UNIX友好的工具结合使用,类似于lsfindmv等程序。

使用方法

让我们以上述场景为例。使用tagr,你可以这样解决这个难题

$ mv ./lecture.mp4 /mnt/disk/
$ tagr add lectures /mnt/disk/lecture.mp4
$ tagr add $COURSE_ID /mnt/disk/lecture.mp4
$ tagr add $COURSE_ID-media /mnt/disk/lecture.mp4

现在,讲座实际上存储在你的外置硬盘上,但可以通过多种方式访问

  1. 使用tagr ls lectures(所有讲座)
  2. 使用tagr ls $COURSE_ID(所有课程资料)
  3. 使用tagr ls $COURSE_ID-media(所有课程相关的媒体)

计划中的功能

tagr仍处于早期开发阶段,目前非常简单。它应该保持这种状态,但还有一些计划中的功能

  • 复杂查询
    • 标签交集
    • 标签差异
    • 标签并集
  • 更好的脚本化
    • 查找单个文件
      • 例如,tagr get $COURSE_ID/lecture.mp4
  • 自动完成支持
    • bash-completion等。

依赖项

~3.5MB
~65K SLoC