14 个版本
| 0.4.4 | 2023 年 5 月 16 日 |
|---|---|
| 0.4.3 | 2023 年 5 月 16 日 |
| 0.4.2 | 2019 年 11 月 13 日 |
| 0.4.0 | 2018 年 5 月 3 日 |
| 0.1.1 | 2018 年 3 月 30 日 |
在 值格式化 中排名 #357
每月下载 85 次
98KB
512 行
pipecolor
终端过滤器,用于着色输出
描述
pipecolor 是一个终端过滤器,用于着色输出。您可以使用正则表达式自定义着色规则。
演示

安装
从 发布页面 下载,并提取到 PATH 目录中。
或者您可以使用 cargo 进行安装。
cargo install pipecolor
将着色规则文件放入 ~/.pipecolor.toml。
本仓库中的 sample/pipecolor.toml 是一个示例。
用法
pipecolor 可以通过管道接收输入,并着色输出。
$ cat sample/access_log | pipecolor -c ./sample/pipecolor.toml
可以指定文件名。
$ pipecolor -c ./sample/pipecolor.toml sample/maillog
如果输出被重定向到文件,则自动禁用着色。您可以使用 pipecolor --mode always 强制着色。
着色规则
请参阅示例规则 sample/pipecolor.toml。
[[lines]]
pat = "^(.*?) .*? .*? \\[(.*?)\\] \".*?\" .*? .*? \".*?\" \"(.*?)\""
colors = ["White", "LightGreen", "LightBlue", "Green"]
[[lines.tokens]]
pat = "GET"
colors = ["LightCyan"]
[[lines.tokens]]
pat = "POST"
colors = ["LightYellow"]
[[lines.tokens]]
pat = "HEAD"
colors = ["LightMagenta"]
lines.pat 是一个用于指定着色行的正则表达式。如果表达式匹配,则匹配的行将被着色到 lines.colors 中指定的颜色。
lines.colors 是一个颜色数组,第一个颜色用于着色整个行。其余颜色用于着色表达式中的捕获组。在示例中,整个行被着色为 白色,第一个被 (.*?) 捕获的组被着色为 浅绿色。
lines.tokens 指定要着色匹配行的特殊令牌。
如果不需要任何令牌,则 tokens 可以是空列表。
[[lines]]
pat = "^(.*?) .*? .*? \\[(.*?)\\] \".*?\" .*? .*? \".*?\" \"(.*?)\""
colors = ["White", "LightGreen", "LightBlue", "Green"]
tokens = []
可用的颜色
以下是可以用的颜色。
- 黑色
- 蓝色
- 青色
- 默认
- 绿色
- 浅黑色
- 浅蓝色
- 浅青色
- 浅绿色
- 浅品红色
- 浅红色
- 浅白色
- 浅黄色
- 品红色
- 红色
- 白色
- 黄色
依赖项
~7-18MB
~201K SLoC