如何在JQ上填号码? [英] How to pad numbers with JQ?

查看:5
本文介绍了如何在JQ上填号码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从数字向字符串添加前导/尾随零-结果字符串需要包含";01";或";001";,而不是";1";。我注意到项目https://github.com/joelpurra/jq-zeros,但我从包管理器(dnf,fedora)安装了JQ,所以有些jqnpm的要求对我来说(乍一看)是不可行的,更不用说我对NPM的恐惧了,因为东西sudo npm -g已经多次毁了我的系统。

问题:

  1. JQ的这些包经理,他们是否正在被主流接受?
  2. 填充本身-如何在没有额外库的情况下进行填充?

推荐答案

给定此JSON文档:

7

您可以使用以下筛选器实现"007":(或42)

tostring | (length | if . >= 3 then "" else "0" * (3 - .) end) as $padding | "($padding)(.)"
  1. tostring转换7"7"
  2. 如果数字有3位或更多位,则将填充设置为"",否则设置为"0" * (3 - length)(当一个字符串乘以一个数字时,它被重复那么多次,例如"foo" * 3->;"foofoofoo")
  3. 并将数字附加到末尾

这篇关于如何在JQ上填号码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆