2017-05-26 58 views
0

コマンドsedで正規表現を使用して、ファイル内の特定の8桁の8桁の数字を置き換えようとしています。私はこれが正しい方法であるかどうかはわかりませんが、コマンドが終了していないというエラーが表示され続けます。どんな考え?sed:-e式#1、char XX:終了していない `s 'コマンド

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

エラーは述べていますが、sedのswitchステートメントの3枚のセパレータ(あなたのケースではスラッシュ)を必要とする20170526

+1

試行 'SED -i 'S/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

/に対応char17。

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

' s'は "switch"ではなく "substitute"を表します。 – Barmar

+0

"p"はペダンティック(pedantic)を表します。 – SaintHax

関連する問題