Miller 6 发布,数据文件的命令行工具

栏目: 软件资讯 · 发布时间: 1周前

来源: 开源中国社区

内容简介:Miller 是一个命令行工具,用于查询、调整和重新格式化各种格式的数据文件,包括 CSV、TSV、JSON 和 JSON Lines。 用户体验 Miller 6 的功能主要由 2021 年 Miller 用户调查结果和 GitHub Issues 中的大量反馈来推...

本文转载自:https://www.oschina.net/news/178432/miller-6-released,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。

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,flagmlr cut -o -f shape,flag相同
  • -foo=bar会自动扩展为-foo bar,因此(例如mlr --ifs=commamlr --ifs comma相同.

改进了 DSL 解析的错误消息

对于mlr putmlr 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 正则表达式支持

IFSIPS可以是正则表达式:分别使用--ifs-regex--ips-regex代替--ifs--ips。还可以使用--ifs space --repifs--ifs-regex '()+'

大小写折叠排序选项

sort 现在接受-c-cr选项,用于大小写折叠的升序/降序排序。

更多详情可查看:https://miller.readthedocs.io/en/latest/new-in-miller-6/


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

关注码农网公众号

关注我们,获取更多IT资讯^_^


查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员面试宝典(第5版)

程序员面试宝典(第5版)

欧立奇、刘洋、段韬 / 电子工业出版社 / 2015-10 / 55.00

容提要 《程序员面试宝典(第5版)》是《程序员面试宝典》的第5 版,在保留第4 版的数据结构、面向对象、程序设计等主干的基础上,修正了前4 版近40 处错误,解释清楚一些读者提出的问题,并使用各大IT 公司及相关企业最新面试题(2014-2015)替换和补充原内容,以反映自第4 版以来两年多的时间内所发生的变化。 《程序员面试宝典(第5版)》取材于各大公司面试真题(笔试、口试、电话面试......一起来看看 《程序员面试宝典(第5版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具