Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



Linux/Unix shell: как отсортировать IP адреса

Рубрика: Shell
Метки: |
Среда, 17 сентября 2008 г.
Просмотров: 15605
Подписаться на комментарии по RSS

Вопрос. Мне требуется отсортировать список IP-адресов, расположенный в текстовом файле. Каким образом мне сделать эту операцию в Linux или Unix?

Ответ. Вам необходимо использовать команду sort для сортировки. Сортировка основана на одном или нескольких ключах, действующих на каждую входящую строку. По умолчанию, пробем используется как дефолтный разделитель полей.

Команда sort - сортируем IP адреса

Это пример исходного файла:

192.168.1.100
192.168.1.19
192.168.1.102
192.168.2.1
192.168.0.2

Введем следующую команду:

$ sort -t . -k 3,3n -k 4,4n /path/to/file

Результат:

192.168.0.2
192.168.1.19
192.168.1.100
192.168.1.102
192.168.2.1

Где,

  • -t . : Устанавливает поле . (точка) как разделитель полей
  • -n : Делает программную числовую сортировку
  • -k opts: Сортируте данные / поля, используя только определенные поля.К примеру, опция -k 2 заставляет программу сортировать только второе поле.

Для подробного изучения:

  • man sort

Постовой

Качественное наружное утепление стен

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Комментариев: 2

  1. Санчез | 2009-11-18 в 01:29:24

    для подобной сортировки достаточно более короткой команды

    $ sort -n /path/to/file

    хотя может уже время повлияло...

  2. Аноним | 2010-04-10 в 00:37:14

    Спасибо очень помогло

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)