Какие символы мне нужно убежать с помощью sed, чтобы заставить это регулярное выражение работать - PullRequest
0 голосов
/ 13 июня 2018
(?<![0-9])0+(?=[0-9]+)

Мне нужно удалить ненужные начальные нули в искаженных октетах IP-адресов.

Я хочу сделать что-то подобное, но это не работает.

cat Qualys-Active-IPs.csv | awk -F';' {'print $1'} | sed 's/(?<![0-9])0+(?\=[0-9]+)//g'

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Вы можете попробовать этот код:

sed -r 's/^0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)-0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+),...,(.*)$/\9:\1.\2.\3.\4-\5.\6.\7.\8/' 
0 голосов
/ 13 июня 2018

Решение:

 sed -r 's/^0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)$/\1.\2.\3.\4/'
...