如何使用 sed 将字符串替换为 abc\\efg[255 和 abc\\efg[23

如何使用 sed 将字符串替换为 abc\\efg[255 和 abc\\efg[23

我有一个文件,其中有以abc.如何abc\\efg[255abc\\efg[28using替换字符串sed

答案1

您没有展示您尝试过的内容,所以我不知道哪个部分给您带来了麻烦。据推测,问题在于您发现s 和sed令人窒息。此类特殊字符需要在其前面添加 a 进行转义。因此,要获得文字,您需要编写(并使用\[\\\\单身的引号)。

这应该有效:

sed 's/^abc\\\\efg\[255/abc\\\\efg\[28/' file

应该如此

sed 's/^\(abc\\\\efg\[2\)55/\128/' file

答案2

sed -r -i 's/^abc\\{2}efg\[255/abc\\\\efg\[28/' file

-i 参数对文件进行实际更改

答案3

printf '%s\n' 'abc\\efg[255' | sed '/^abc/s/55/8/'

输出

abc\\efg[28

相关内容