Решено: Вопрос по shell programming (awk,sed)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
magicrooter
Сообщения: 6
ОС: RHAS5, Fedora Core 9, SLED11

Решено: Вопрос по shell programming (awk,sed)

Сообщение magicrooter »

Здравствуйте. Помогите, пожалуйста, с написанием кода. На awk, sed или еще как-нибудь...
Имеется список IP адресов вида:

10.7.108.4
172.17.22.5
192.168.1.3

Необходимо вставить нули с тем, чтобы дополнить каждый октет до 3 символов. Таким вот образом:

010.007.108.004
172.017.022.005
192.168.001.003

Заранее спасибо большое за помощь!
In tux I trust:)
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Решено: Вопрос по shell programming (awk,sed)

Сообщение Voice »

Код: Выделить всё

echo 122.155.55.1 | awk -F '.' '{printf("%03d.%03d.%03d.%03d", $1, $2, $3, $4)}'
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
magicrooter
Сообщения: 6
ОС: RHAS5, Fedora Core 9, SLED11

Re: Решено: Вопрос по shell programming (awk,sed)

Сообщение magicrooter »

Voice писал(а):
23.12.2008 11:20

Код: Выделить всё

echo 122.155.55.1 | awk -F '.' '{printf("%03d.%03d.%03d.%03d", $1, $2, $3, $4)}'

Огромное Вам спасибо!! Все оказалось не так сложно даже:). Просто в документации по awk никак не могла найти явного описания такого случая:(
In tux I trust:)
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Решено: Вопрос по shell programming (awk,sed)

Сообщение drBatty »

magicrooter писал(а):
23.12.2008 11:10
10.7.108.4
172.17.22.5
192.168.1.3

ну и на sed можно. только немного по другому.

Код: Выделить всё

$ echo '10.7.108.4
172.17.22.5
192.168.1.3
'| sed -r 's/[0-9]+/00&/g; s/[0-9]*([0-9]{3})/\1/g'
010.007.108.004
172.017.022.005
192.168.001.003
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: