2017-05-26 107 views
0

我試圖使用正則表達式與命令sed來替換任何8位連續數字與整個文件中的特定8位數字。我不確定這是否是正確的方法,但我一直收到錯誤,指出該命令未終止。任何想法爲什麼?sed:-e表達式#1,字符XX:未終止的's'命令

sed -i 's/d\{8\}/20170526' ./somefolder/somefile.xml

錯誤表示對應於/20170526

+1

嘗試'SED -i的/ d \ {8 \}/20170526 /'/ somefolder/somefile.xml' – yeputons

+2

心後'/' - 校正''的命令s'的語法sed'是's/replace_this/with_that /',而不是's/replace_this/with_that' – yeputons

+1

'd'與數字不匹配。也許'\ d'確實,但更好的使用'[0-9]',甚至更好''[[:digit:]]'。 –

回答

1

您需要3個分隔符(在你的情況斜槓)的sed的開關語句之前char17。

sed -eE 's/[0-9]{8}/20170526/' ./somefolder/somefile.xml 
+1

's'代表「替代」,而不是「開關」。 – Barmar

+0

「p」代表迂腐。 – SaintHax

相關問題