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

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

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

我正在使用以下命令:

sed 's/./-/g' iplist.txt

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

答案1

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

要解决此问题,您需要通过在其前面.放置 a来转义,以告诉 sed 仅匹配实际周期:\

sed 's/\./-/g' iplist.txt

答案2

这是一份工作tr(1)

tr . - < infile > outfile

相关内容