我有一个包含 IP 地址的文件,我想替换“。”与“-”通过 sed。
我正在使用以下命令:
sed 's/./-/g' iplist.txt
运行此命令后,我得到的输出是-------------
,它将整个 IP 地址替换为“-”。
答案1
sed 使用常用表达查找需要更改的文本,在正则表达式中是.
匹配任何字符的方法。您的命令告诉 sed 将任何字符更改为-
.
要解决此问题,您需要通过在其前面.
放置 a来转义,以告诉 sed 仅匹配实际周期:\
sed 's/\./-/g' iplist.txt
答案2
这是一份工作tr(1)
:
tr . - < infile > outfile