我想用“xyz”替换字符串“abc”,但还有其他字符串也包含“abc”,例如“abcdef”。我只想替换“abcef”中“abc”的精确匹配,而不是“abc”。我如何在 Linux 中实现这一点?
谢谢!
最佳答案
您需要使用“完全匹配”。例如,通过 sed
使用简单的搜索和替换生成您不想要的行为:
代码列表(故障案例)
echo "abc abcd abcdef" | sed 's/abc/xyz/g'
示例(错误案例)
xyz xyzd xyzdef
但是,如果您使用 <
包装搜索查询>
V 形符号(需要用反斜杠转义),就可以开始了:
代码(工作案例)
echo "abc abcd abcdef" | sed 's/\<abc\>/xyz/g'
示例(工作案例)
xyz abcd abcdef
关于Linux - 如何替换字符串而不在包含它的其他模式中删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32531529/