我想将所有出现的以 B00
开头并以 \
结尾的字符串替换为另一个字符串 customdata
。我怎样才能做到这一点?
我尝试过:
sed -i 's/BOO\*\\/customdata/' file.txt.
但是它不起作用。
最佳答案
不要转义 *
并使用 [^\\]*
不跳过 \
:
sed -i 's/BOO[^\\]*\\/cusomdata/g' file.txt.
如果您想保留分隔符,请不要捕获尾随 \
并将 BOO 放回:
sed -i 's/BOO[^\\]*/BOOcusomdata/g' file.txt.
关于regex - Linux 中的 sed 命令。如何用另一个字符串替换以 xxx 开头并以 yyy 结尾的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21906855/