Я придумал короткий обходной путь, который не совсем идеален:
Я установил правило, чтобы принимать IP-адреса в диапазоне:
217.87.0.0/16
Это означает, что только первые 16 байтов IP являются статическими, а остальные - динамическими. Я думаю, это более безопасно, чем вообще не добавлять никаких правил.
Выполнено описанным ниже способом с использованием awk
Команда:awk -F ";" '{gsub(/\./,",",$2);print $1";"$2";"$3}' filename
выход
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
$ awk 'BEGIN{FS=OFS=";"} {gsub(/\./, ",", $2)} 1' ip.txt
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
BEGIN{}
этот блок кода будет выполняться перед обработкой любой входной строки FS=OFS=";"
установить разделитель полей ввода и вывода как;
gsub(/\./, ",", $2)
для каждой строки ввода, замените все .
во 2-м поле на,
1
— это идиома awk для печати содержимого $0
(, которое содержит входную запись)