sedスクリプトの "'s"コマンドのRHSで誤った参照\ 1"

sedスクリプトの

例えば、以下は md5sum コマンドの出力です。

35c9581c469c366e286be708a9d9f939 input.txt

これは私が実行しているコマンドラインです。

md5sum input.txt | sed -f script.sed

md5sumの出力は次のようになります。

35c9xxxxxxxxxxxxxxxxxxxxxxxxxxxx input.txt

現在、私の.sedスクリプトには以下が含まれています。

:a s/^(.{4}x{0,})[^x ]/\1x/;ta

このエラーは引き続き発生します。

sed: file script.sed line 2: invalid reference \1 on `s' command's RHS

理由はわかりません。もし解決方法や、より良い方法ご存知の方はお知らせください。

ベストアンサー1

sed -E可能であれば拡張正規表現を使用する必要があります)またはエスケープ中括弧と括弧:

:a s/^\(.\{4\}x\{0,\}\)[^x ]/\1x/;ta

おすすめ記事