我需要找出如何刪除高達在我的文本文件中使用sed的行末尾的10位數字。sed在行尾刪除數字
例如,如果我有這樣的:
ajsdlfkjasldf1234567890
asdlkjfalskdjf123456
adsf;lkjasldfkjas123
它應該成爲:
ajsdlfkjasldf
asdlkjfalskdjf
adsf;lkjasldfkjas
誰能幫助?
我有這個,但它不工作:
sed 's/[0-9]{10}$//g'
我需要找出如何刪除高達在我的文本文件中使用sed的行末尾的10位數字。sed在行尾刪除數字
例如,如果我有這樣的:
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}$//'
就讓我們來看看here建議你應該試試這個:
$ sed 's/[0-9]\{0,10\}$//g'
{}應該逃脫,除非你切換到擴展的正則表達式語法:
$ sed -r 's/[0-9]{0,10}$//g'
下面應該工作:
sed 's/[0-9]\{1,10\}$//' file
在sed
正則表達式語法要求括號之前的反斜槓使用他們的重複,除非你使用擴展的正則表達式選項。
我認爲這隻會在你有十個數字時才起作用。 – jahroy
是的,你可以改進它,使其工作?我一直在嘗試,但我不能:s –