如何通过sed命令用连字符替换点

Chi*_*eet 3 sed text-processing regular-expression

我有一个包含 IP 地址的文件,我想替换“.” 用“-”通过 sed。

我正在使用以下命令:

sed 's/./-/g' iplist.txt
Run Code Online (Sandbox Code Playgroud)

运行此命令后,我得到的输出是-------------,它将整个 IP 地址替换为“-”。

小智 7

sed 使用正则表达式查找需要更改的文本,并在正则表达式.中匹配任何字符。您的命令告诉 sed 将任何字符更改为-.

要解决此问题,您需要.通过\在它前面放置 a来逃避sed ,以告诉 sed 仅匹配实际期间:

sed 's/\./-/g' iplist.txt
Run Code Online (Sandbox Code Playgroud)

  • 或将其包含在括号“[.]”中 (5认同)