内容简介:Miller 是一个命令行工具,用于查询、调整和重新格式化各种格式的数据文件,包括 CSV、TSV、JSON 和 JSON Lines。 用户体验 Miller 6 的功能主要由 2021 年 Miller 用户调查结果和 GitHub Issues 中的大量反馈来推...
Miller 是一个命令行工具,用于查询、调整和重新格式化各种格式的数据文件,包括 CSV、TSV、JSON 和 JSON Lines。
用户体验
Miller 6 的功能主要由 2021 年 Miller 用户调查结果和 GitHub Issues 中的大量反馈来推动。
性能
在简单处理方面,性能与 Miller 5 相当,在复杂处理链方面,Miller 6 由于改进了多核利用率,因此性能远远优于 Miller 5,除此之外,CSV I/O 也有明显改善。
文档改进
文档和在线帮助(mlr --help)已经被完全重写。
改进 Windows 体验
Miller 最初是为类 Unix 操作系统开发的,包括 Linux 和 macOS。Miller 5.2.0 成为了第一个支持 Windows 的版本。从 6.0.0 版本开始,Miller 直接在 Windows 上构建。
现在,Windows 上的体验与 Linux,NetBSD / FreeBSD和 macOS 上的体验几乎相同,MSYS2 不再是必需的 。
输出着色
每当输出到终端时,Miller 都会对键和值使用单独的可自定义颜色。
改进的命令行解析
Miller 6 具有 getoptish 命令行解析:
xyz自动扩展为x -y -z,例如mlr cut -of shape,flag与mlr cut -o -f shape,flag相同-foo=bar会自动扩展为-foo bar,因此(例如mlr --ifs=comma与mlr --ifs comma相同.
改进了 DSL 解析的错误消息
对于mlr put和mlr filter,解析错误消息现在包含位置信息:
mlr: cannot parse DSL expression. Parse error on token ">" at line 63 columnn 7.
脚本
脚本现在更容易支持带有sh的#!,以及现在支持带有mlr -s的#!。对于 Windows,也可以使用mlr -s。这些变化有助于减少反斜杠引起的混乱,让用户在少打字的同时做更多的事情。
改进的国际化支持
现在可以用 UTF-8 编写字段名称、局部变量等,例如mlr --c2p filter '$σχήμα == "κύκλος"' παράδειγμα.csv。
改进的日期时间/时区支持
包括支持通过函数参数指定时区,作为TZ环境变量的替代方法。
对压缩输入的进程内支持
除了--prepipe gunzip之外,在 Miller 6 中现在还可以使用--gzin标志。如果你的文件以.gz结尾,那你甚至无需这样操作,Miller 将通过文件扩展名自动检测并自动解压缩mlr --csv cat foo.csv.gz.z
支持读取网络网址
可以读取带有https://和http:// 和file:// 前缀的输入:
mlr --csv sort -f shape \\ <https://raw.githubusercontent.com/johnkerl/miller/main/docs/src/gz-example.csv.gz>
改进 JSON / JSON Lines 支持和数组
数组现在在 Miller 的put/filter编程语言中受支持,此外array现在是一个关键字,因此它不再可用作局部变量或 UDF 名称。
改进数值转换
Miller 6 最核心的部分是深度重构如何从文件内容解析数据值、如何推断类型以及如何将它们转换回文本到输出文件。
在 Miller 5 及更低版本中,所有值都存储为字符串,然后仅根据需要转换为 int/float。
在 Miller 6 中,可解析为 int/float 的东西从读取输入数据的那一刻起就被视为 int/float,并且它们通过动词链传递。
重复字段名称的重复数据删除
默认情况下,除 JSON / JSON Lines 之外的所有文件格式的字段名称都会被重复数据删除。
对 IFS 和 IPS 正则表达式支持
IFS和IPS可以是正则表达式:分别使用--ifs-regex或--ips-regex代替--ifs或--ips。还可以使用--ifs space --repifs或--ifs-regex '()+'。
大小写折叠 排序 选项
sort 现在接受-c和-cr选项,用于大小写折叠的升序/降序排序。
更多详情可查看:https://miller.readthedocs.io/en/latest/new-in-miller-6/
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 命令源码文件
- 处理nohup命令生成的大文件
- 命令行终端设置代理上网(pac文件)
- 每天一个 Linux 命令(25):Linux 文件属性详解
- 一行命令,将Json文件转成Dart 类
- 一行命令,将 JSON 文件转成 Dart 类
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Inside Larry's and Sergey's Brain
Richard Brandt / Portfolio / 17 Sep 2009 / USD 24.95
You’ve used their products. You’ve heard about their skyrocketing wealth and “don’t be evil” business motto. But how much do you really know about Google’s founders, Larry Page and Sergey Brin? Inside......一起来看看 《Inside Larry's and Sergey's Brain》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
HEX HSV 转换工具
HEX HSV 互换工具