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

栏目: 软件资讯 · 发布时间: 2年前

内容简介: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,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/


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

查看所有标签

猜你喜欢:

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

Series 60 应用程序开发

Series 60 应用程序开发

巴克 / 人民邮电出版社 / 2005-7 / 75.0

Series 60智能手机开发平台正掀起新一轮的移动服务浪潮。超过60%的手机生产商获得了Series 60平台的授权。Series 60移动应用开发平台拥有最大的用户群,从而成为智能手机市场的代表。诺基亚与EMCC软件公司合作,为C++程序员和软件设计师编撰了这本Series 60开发的权威指南。本书由诺基亚资深专家进行了全面审阅。本书内容涉及了开发过程的各个阶段,从设计、编程、测试、调试到部署......一起来看看 《Series 60 应用程序开发》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具