Friday, June 5, 2009

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

Команда 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 заставляет программу сортировать только второе поле.