Я пытаюсь выяснить, как сделать следующее с sed:
У меня есть список адресов IPv4, и я пытаюсь сделать их одинаковыми на дисплее. Так, например: 1.2.4.32
будет 001.002.004.032
. 10.125.62.1
будет 010.125.062.001
.
Я пытаюсь использовать sed, чтобы сделать это, потому что это то, что я изучаю прямо сейчас.
Я получил эти два, которые возьмут любое одно или два цифры и добавят нули спереди.
sed 's/\<[0-9][0-9]\>/0&/g' file
sed 's/\<[0-9]\>/00&/g' file
Но это сталкивается с более практичной проблемой, так как мой входной файл будет иметь номера с одним или двумя цифрами в других местах, отличных от IP-адреса. Пример:
host-1 1.2.3.32
Итак, мне нужен способ поиска полного IP-адреса, который, как я думал, может быть достигнут с помощью этого
sed 's/\.\<[0-9]\>/00&/g'
но не только это игнорирует случай 1.something.something.something
, но также по какой-то причине добавляет 00
в конце 3-го октета.
echo "10.10.88.5" | sed 's/\.\<[0-9]\>/00&/g'
10.10.8800.5
Пример файла:
Jumpstart Server jumo 10.20.5.126
Jumpstart Server acob 10.20.5.168
NW1 H17 Node cluster 10.10.161.87
NW1 H17 Node-1 10.10.161.8
NW1 H17 Node-2 10.10.161.9
ts-nw1 10.10.8.6