例如,这是 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