我需要了解如何使用 sed 删除文本文件中行末尾的最多 10 位数字。
例如,如果我有这个:
ajsdlfkjasldf1234567890
asdlkjfalskdjf123456
adsf;lkjasldfkjas123
它应该变成:
ajsdlfkjasldf
asdlkjfalskdjf
adsf;lkjasldfkjas
谁能帮忙?
我有这个,但它不起作用:
sed 's/[0-9]{10}$//g'
最佳答案
你试过这个吗:
sed 's/[0-9]+$//'
如果启用了扩展正则表达式(-E 或 -r,取决于您的 sed 版本),您的命令只会匹配并删除行尾的 10 位数字。
你应该试试
sed -r 's/[0-9]{1,10}$//'
关于regex - sed 删除行尾的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10707320/