如何在JQ上填号码? [英] How to pad numbers with JQ?
本文介绍了如何在JQ上填号码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从数字向字符串添加前导/尾随零-结果字符串需要包含";01";或";001";,而不是";1";。我注意到项目https://github.com/joelpurra/jq-zeros
,但我从包管理器(dnf,fedora)安装了JQ,所以有些jqnpm
的要求对我来说(乍一看)是不可行的,更不用说我对NPM的恐惧了,因为东西sudo npm -g
已经多次毁了我的系统。
问题:
- JQ的这些包经理,他们是否正在被主流接受?
- 填充本身-如何在没有额外库的情况下进行填充?
推荐答案
给定此JSON文档:
7
您可以使用以下筛选器实现"007"
:(或42
)
tostring | (length | if . >= 3 then "" else "0" * (3 - .) end) as $padding | "($padding)(.)"
tostring
转换7
为"7"
- 如果数字有3位或更多位,则将填充设置为
""
,否则设置为"0" * (3 - length)
。(当一个字符串乘以一个数字时,它被重复那么多次,例如"foo" * 3
->;"foofoofoo"
) - 并将数字附加到末尾
这篇关于如何在JQ上填号码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文