正则表达式 – 使用正则表达式可以使用零填充整数吗?
发布时间:2020-12-14 06:29:21 所属栏目:百科 来源:网络整理
导读:在一些文本中,我有一系列不同长度的数字(从1到6位数字).我想通过用零填充较短的数字来平衡所有这些数字的长度. 例如.以下4行 – A1:11A2:112A3:223333A4:1333A5:19333A6:4 应该是填充整数 A1:000011A2:000112A3:223333A4:001333A5:019333A6:000004 我使用“s
在一些文本中,我有一系列不同长度的数字(从1到6位数字).我想通过用零填充较短的数字来平衡所有这些数字的长度.
例如.以下4行 – A1:11 A2:112 A3:223333 A4:1333 A5:19333 A6:4 应该是填充整数 A1:000011 A2:000112 A3:223333 A4:001333 A5:019333 A6:000004 我使用“sed”和以下combesome表达式: sed -e 's/:([0-9]{1})&;/:000001/' -e 's/:([0-9]{2})&;/:00001/' -e 's/:([0-9]{3})&;/:0001/' -e 's/:([0-9]{4})&;/:001/' -e 's/:([0-9]{5})&;/:01/' 有可能这样做比这更好吗?
您可以用太多的零填充,然后只保留最后六位数:
sed -e 's/:/:00000/;s/:0*([0-9]{6,})$/:1/' 结果: A1:000011 A2:000112 A3:223333 A4:001333 A5:019333 A6:000004 使用awk可能会更好: awk -F: '{ printf("%s:%06sn",$1,$2) }' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |