Постовой
Linux/Unix shell: как отсортировать IP адреса
Рубрика: Shell
Метки: shell | команды Linux
Среда, 17 сентября 2008 г.
Просмотров: 3362
Подписаться на комментарии по RSS
Метки: shell | команды Linux
Среда, 17 сентября 2008 г.
Просмотров: 3362
Подписаться на комментарии по 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
Постовой
Качественное наружное утепление стен
Еще записи по теме
- Alias - создаем алиасы для ваших команд
- Делаем ваши bash скриты юзер-френдли с помощью dialog
- Отправка почты с помощью командлета Send-MailMessage…
- iRedMail: Установка полноценного почтового сервера с LDAP, Postfix, RoundCube, Dovecot, ClamAV, DKIM, SPF в CentOS 5.x, часть 1
- Топ 10 ваших Linux команд
- Linux: запускаем необходимые команды после перезагрузки системы
- Добавление DNS серверов с помощью DNS-add


Комментариев: 2
для подобной сортировки достаточно более короткой команды
$ sort -n /path/to/file
хотя может уже время повлияло...
Спасибо очень помогло