LINUX.ORG.RU
ФорумAdmin

sed не работает регулярка в замене

 , ,


0

1
35:8080
5681:8080
8456:8080

пытаюсь убрать двоеточие между числами в последних 3-х строчках

sed -r '11,13 s/[0-9]*\:[0-9]*/[0-9]{1,+} [0-9]{1,+}/' fw_filter.cfg

получаю:

web-serverEU-10.168.115.25:443;8080 log DEBUG
web-serverUSA-111.45.30.20:2443;8192 log DEBUG
web-serverSA-172.54.21.75:8443 log WARN
PGSQL-serverFR-89.104.110.30:5454 INFO
MongoDB_masterUSA-89.178.114.82:5000 log LEVEL4
MongoDB_slaveUSA-54.32.119.55:5500 log LEVEL4              RabbitMQ_node1-52.16.128.10:8989 log ALL
RabbitMQ_node2-74.16.128.10:8989 log ALL
                                                           [0-9]{1,+} [0-9]{1,+}
[0-9]{1,+} [0-9]{1,+}
[0-9]{1,+} [0-9]{1,+}

так тоже не работает

sed -r ‘10,13 s/[0-9]:[0-9]/[0-9]* [0-9]*/g’ fw_rules.cfg

вывод:

web-serverEU-10.168.115.25:443;8080 log DEBUG web-serverUSA-111.45.30.20:2443;8192 log DEBUG web-serverSA-172.54.21.75:8443 log WARN PGSQL-serverFR-89.104.110.30:5454 INFO MongoDB_masterUSA-89.178.114.82:5000 log LEVEL4 MongoDB_slaveUSA-54.32.119.55:5500 log LEVEL4 RabbitMQ_node1-52.16.128.10:8989 log ALL RabbitMQ_node2-74.16.128.10:8989 log ALL

[0-9]* [0-9]* [0-9]* [0-9]* [0-9]* [0-9]*

w1rox ()
Последнее исправление: w1rox (всего исправлений: 1)

решил вот так

sed -r ‘s/([0-9]+):([0-9]+)/\1 \2/g’ fw_rules.cfg

вывод:

web-serverEU-10.168.115.25 443;8080 log DEBUG web-serverUSA-111.45.30.20 2443;8192 log DEBUG web-serverSA-172.54.21.75 8443 log WARN PGSQL-serverFR-89.104.110.30 5454 INFO MongoDB_masterUSA-89.178.114.82 5000 log LEVEL4 MongoDB_slaveUSA-54.32.119.55 5500 log LEVEL4 RabbitMQ_node1-52.16.128.10 8989 log ALL RabbitMQ_node2-74.16.128.10 8989 log ALL

35 8080 5681 8080 8456 8080

w1rox ()
Последнее исправление: w1rox (всего исправлений: 1)