【发布时间】:2014-10-13 00:58:09
【问题描述】:
我想使用 sed 编辑器读取文件并替换所有
字符串 XYZ$ 和 xyz$ 的出现次数。如果XYZ$ 我只想这样做
是一个完整的单词,如果它嵌入到另一个字符串中则不是。
我尝试了以下方法,但没有成功:
sed -c -i "s/\bXYZ\$\b/xyz\$/g" file1.txt
也许\$ 没有被解释为文字美元符号,可能是因为它位于一对\b 内(用于表示单词边界)。有什么建议吗?
【问题讨论】:
-
要替换的文本可以在一行的任何位置。所以我想将行:123 XYZ$ 456 替换为行:123 xyz$ 456 所以我想使用单词边界选项。
-
您使用的是哪个版本的
sed?虽然 GNUsed支持\b,但并非所有版本的sed都支持。