使用sed更改数字的最后两位数字

使用sed更改数字的最后两位数字,第1张

概述使用sed更改数字的最后两位数字

我使用这个命令:

sed 's/;([0-9]*),([0-9]*);/;1.2;/g;s/;(r?)$/1/' inputfile

根据我的需要更改大量的csv文件(请参阅每行末尾的delete';' )。

现在碰巧在一些csv文件中有20000500这样的“虚拟date”,由于最后两个零(这对于date是不可能的),所以不能被导入到sql中。

如何编辑我的sed-command在这种情况下总是把最后两位数字改为01(我的意思是只有00)。

正则Expression式结尾处的“ 2”是什么意思?

在sed中,如何表示“字母数字或_或 – ”

在分号之后插入空格,除非它是HTML实体的一部分

预计正则Expression式数字模式

linux SED RegExreplace,但保留通配符

我试过了

sed 's/;([0-9]*),([0-9]*);/;1.2;/g;s/;([0-9]{6})00;/;101;/g;s/;(r?)$/1/' inputfile

但是这不起作用。

最有效的方法来减less正则Expression式匹配之间的输出?

mongo-express使用Nginx代理获取请求问题

如何创build一个友好的URL与两个或更多的参数使用国防部重写/ htaccess?

Nginx不区分大小写的urlredirect

Sed使用情况,删除/更改文本

我认为{6}是一个扩展的正则表达式。 所以你必须使用sed -r或者把你的正则表达式改成s/;([0-9][0-9][0-9][0-9][0-9][0-9])00;/;101;/g 。

如果您想使用扩展正则表达式,请执行以下 *** 作:

sed -r 's/;([0-9]{6})00;/;101;/g'

即:你必须去除parens的反斜杠。

编辑:关于丹尼斯·威廉姆森的评论也可以使用正则表达式逃避花括号:

sed 's/;([0-9]{6})00;/;101;/g'

总结

以上是内存溢出为你收集整理的使用sed更改数字的最后两位数字全部内容,希望文章能够帮你解决使用sed更改数字的最后两位数字所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1285143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存