Linux - 如何替换字符串而不在包含它的其他模式中删除它

标签 linux terminal

我想用“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/

相关文章:

bash - 使用终端的 VLC 屏幕捕获

macos - 如何使用 GoLang 以编程方式禁用来自 Mac 终端的回显

linux - perl -p -i -e 将行替换为包含符号的文本

c++ - clflush 在 i7 中没有给出 const 数据类型的正确答案

linux - Linux 上的 mpc/mpd : how to play local wav file

c - 如何从终端“按键缓冲区”读取?

perl - 如何在终端管道中运行 perl 文件

http - Netcat 服务器连接被拒绝

linux - 如何动态解析 linux 嗅探器结果?

c++ - C++ sizeof() 函数可以用来防止整数溢出吗?