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)。
那么示例中发生了什么?首先我们使用 find 找到所有的浮点数,然后使用 reduce 和 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