我使用这个命令:
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更改数字的最后两位数字所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)