我需要了解如何使用sed删除文本文件中行尾的10位数字。
例如,如果我有以下内容:
ajsdlfkjasldf1234567890
asdlkjfalskdjf123456
adsf;lkjasldfkjas123它应成为:
ajsdlfkjasldf
asdlkjfalskdjf
adsf;lkjasldfkjas有人能帮忙吗?
我有这个,但不管用:
sed 's/[0-9]{10}$//g'发布于 2012-05-22 17:55:12
你试过这个吗?
sed 's/[0-9]+$//'您的命令只会在行尾匹配和删除10位数字,而且只有在启用扩展正则表达式(-E或-r,取决于您的sed版本)时才会这样做。
你应该试试
sed -r 's/[0-9]{1,10}$//'发布于 2012-05-22 17:58:00
下列措施应能发挥作用:
sed 's/[0-9]\{1,10\}$//' filesed中的Regex语法需要括号前的反斜杠来重复使用,除非使用扩展的regex选项。
发布于 2012-05-22 17:54:30
快速查看这里建议您尝试以下操作:
$ sed 's/[0-9]\{0,10\}$//g'{}应该转义,除非切换到扩展的regex语法:
$ sed -r 's/[0-9]{0,10}$//g'https://stackoverflow.com/questions/10707320
复制相似问题