sed regex preappend不能处理不同的输入



我有以下sed替换,它正常工作

$ echo "1.1.1.1n2.2.2.2" | sed "s/^/allow /g; s/$/;/g"
allow 1.1.1.1;
allow 2.2.2.2;

但是,当我对ip列表运行相同的正则表达式时,它不正确地显示

$ wget -q https://api.bunny.net/system/edgeserverlist/plain -O - | sed "s/^/allow /g; s/$/;/g"
;llow 84.17.46.49
;llow 185.93.1.242
;llow 185.152.67.139
...

我做错了什么?

您可以在运行sed命令之前删除行尾的所有回车:

sed "s/r$//g; s/^/allow /g; s/$/;/g"

这将输出一个allow+ ip列表:

allow 89.187.185.87;
allow 212.102.50.49;
allow 84.17.46.50;
allow 89.187.173.70;
allow 89.187.185.163;
allow 84.17.37.209;
allow 89.187.185.162;
allow 89.187.188.223;

等。

最新更新