2 个不稳定版本
0.2.0 | 2023年5月31日 |
---|---|
0.1.0 | 2023年5月31日 |
#1703 在 命令行工具
每月25次下载
29KB
756 行
d
代表 data
。 d-rs
是 grep、awk、sed 以及其他 Unix 工具功能的组合,以便轻松编辑管道数据。
使用方法
假设存在一个文件,内容如下:
# Hours
x: 3 hours
y: 3.5 hours
z: 15 hours
w: 1.5 hours
您可以使用 d 来查找总共有多少小时:
cat hours.txt | d f float | d r sum
返回 23。
这里发生了什么?
d 有 4 个主要子命令
- filter(或 find,对于 d 来说,这两个操作几乎是相同的)
- map
- reduce
- split
每个命令都可以缩写(分别为 f
、m
、r
或 s
)。
那么示例中发生了什么?首先我们使用 f
ind 找到所有的浮点数,然后使用 r
educe 和 sum
操作符来汇总。
通常,您可以
- 使用自定义或内置的正则表达式来查找内容
- 使用自定义或内置的正则表达式、Python 表达式(可能还会添加更多)来映射内容
- 使用求和、乘积或连接操作符来汇总内容(可能还会添加更多)
- 基于单个字符或单词来拆分内容(目前尚不支持正则表达式)
Python 映射
使用 d m p
(d map python)告诉 d 对输入的每一行运行一行 Python 代码。您的代码将在以下环境中运行:
- 有一个
i
或inp
变量,其中包含当前行 - 有一个
o
或out
变量,写入的内容将成为表达式的结果(使用__repr__
将其转换为字符串) - 或者,您可以打印表达式的结果。如果您这样做,则忽略
o
/out
中的值,以防止表达式产生多个输出。
映射行之间不保留状态。
待办事项列表
- 更多内置正则表达式
- 查找常用单位(例如,格式为
500KiB
的磁盘大小)并自动转换为基本单位(500Kib -->
512000
) - 内置 n 到 m 的基数转换
依赖关系
~5–6.5MB
~115K SLoC