#plain-text #information #tags #file #file-search #filter #txt

程序+库 tagsearch

基于 @keyword 标签过滤纯文本文件

18 个重大版本

0.37.0 2022 年 11 月 5 日
0.35.0 2022 年 3 月 7 日
0.34.0 2022 年 3 月 7 日
0.32.0 2021 年 9 月 5 日
0.13.0 2019 年 12 月 20 日

622文本处理

Download history 7/week @ 2024-03-14 7/week @ 2024-03-21 28/week @ 2024-03-28 35/week @ 2024-04-04 7/week @ 2024-04-11

116 每月下载
用于 2 crates

MIT 许可证

7MB
514

Tagsearch - 在纯文本文件中搜索和/或总结标签。

Rust

简介

此工具查找当前目录下 @ALPHANUMERIC (例如,大致匹配正则表达式 @[a-zA-Z0-9]) 的所有实例,递归地在 .txt.md.org 下。

该脚本的 目的是 让我能够更轻松地管理纯文本信息。我添加了一个单独的文件,提供了 关于如何将其应用于不同用例的概述

动机

主要的动机是远离更商业化的软件。尽管我可以支付几个订阅服务的费用,但我觉得简化我的流程会更好。这有几个好处

  • 省钱;不订阅那么多服务
  • 无供应商锁定;无需担心供应商倒闭或更改定价模式时丢失数据
  • 更少的“故障模式”;使用我想要的简单纯文本系统,我无需担心所有交互或按照其他软件要求的方式工作。一切基本上都是可读的,还有一些辅助脚本来以不同方式处理数据。
  • 可移植性;我无需担心在 Windows、OSX 和 Linux 之间找到应用程序。我可以在任何可以处理文本文件的设备上实时访问我的数据。我目前使用的每个设备都有在文件中搜索的能力,所以即使没有这样的工具,我也可以过滤我的信息。

我目前仍在使用的商业软件主要还是Dropbox,这样我可以在所有设备上获取信息,无需担心像同步git这样的操作。不过,我有一个cron作业,会将这些信息备份到git中。这使我过程的一个变化是,使用文件扩展名.txt来代替.md作为我的markdown文件;这样我就可以在没有访问终端和自己的辅助脚本的情况下,利用Dropbox的全文搜索从网页或安卓应用中查找信息。

安装

可以从源代码安装,也可以使用cargo安装

从源代码

git clone [email protected]:Chrisdavison/tagsearch
cd tagsearch
cargo install --path . --force

从cargo

cargo安装tagsearch

依赖项

regex = "1"
glob = "0.3.0"
lazy_static = "1.4.0"
structopt = "0.3.3"

用法

当前用法字符串

tagsearch 0.27.0
search for, and/or summarise, tags in plaintext files

USAGE:
    tagsearch [FLAGS] [OPTIONS] [--] [keywords]...

FLAGS:
    -c, --count           Show count of tags
    -h, --help            Prints help information
    -l, --list            List all tags for files matching keywords
        --long            Long list (e.g. tall) all tags for files matching keywords
    -o, --or-filter       Filter using ANY, rather than ALL keywords
        --similar-tags    Show similar tags
    -u, --untagged        Show untagged files
    -V, --version         Prints version information
    -v, --vim             Output format suitable for vim quickfix

OPTIONS:
        --not <not>...    Keywords to inverse filter (i.e. ignore matching files)

ARGS:
    <keywords>...    Keywords to filter

示例

# display all tags
tagsearch

# display all tags in a column (like ls -l)
tagsearch --long

# Show files tagged 'golang'
tagsearch golang

# List all tags that occur along with golang
tagsearch -l golang

# Show files tagged 'rust', but NOT tagged 'video'
tagsearch rust --not video

# Show files that match spanish OR espanol
tagsearch -o spanish espanol

依赖项

~4.5MB
~87K SLoC