Как использовать sort в Linux — часть 2

Как использовать sort в Linux — часть 2

Рубрики:

Linux, Утилиты Linux

Метки:

, , ,

В предыдущей статье «Как использовать sort в Linux — часть 1» мы показали Вам 9 примеров применения команды sort. Однако, они лишь частично охватывает возможности этой утилиты для сортировки файлов.

В этой статье мы покажем Вам 7 полезных и более интересных способов применения инструмента sort в Linux.

Содержимое:

  1. Сортировка месяцев по календарю
  2. Сортировка вывода команды ls по размеру файлов
  3. Проверка того, отсортированы ли файлы
  4. Обработка файлов на основе разделителей
  5. Сортировка в случайном порядке
  6. Сортировка файлов с учетом верхнего регистра
  7. Объединение двух файлов и их сортировка
  8. Выводы

Сортировка месяцев по календарю

Допустим, у нас есть текстовый файл month.txt. В нем записаны названия месяцев, расположенные в произвольном порядке. Наша задача — упорядочить их так, чтобы месяцы следовали друг за другом в том же порядке, что и в календаре. Для этого воспользуемся опцией -M команды sort:

 

sort by month

Сортировка вывода команды ls по размеру файлов

Утилита ls имеет опцию -l, которая позволяет отобразить содержимое директории в длинном формате. В пятом столбце вывода содержатся размеры файлов и папок. Вы можете отсортировать результат вывода команды ls -l по этому столбцу так, чтобы файл с наименьшим размером находился первым в списке. Например:

 

ls sort human readable

Читайте также: 15 примеров команды ls в Linux.

Проверка того, отсортированы ли файлы

Инструмент sort также позволяет узнать, отсортировано ли содержимое определенного файла. Для такой проверки используется опция -c. Например, у нас есть два файла sorted.txt (его содержимое отсортировано) и month.txt (не отсортирован). Давайте узнаем, так ли это:

 

check sorted

На скриншоте выше видно, что для файла sorted.txt утилита sort не вывела ничего на экран. Значит этот документ отсортирован. А для файла month.txt инструмент показал строку, с которой начинается неправильный порядок слов.

Обработка файлов на основе разделителей

По умолчанию команда sort считает пробел разделителем слов в файле. Тем не менее, элементы в строках файла могут быть разделены другими символами (например, +, -, = и так далее). Допустим, у нас есть файл delimiter.txt, в котором слова разделены символами +. Отсортируем содержимое этого документа на основе первого элемента (слова) из каждой строки:

 

sort delimeter 1

Также давайте упорядочим этот файл по четвертому элементу:

 

sort delimeter 2

Читайте также: 13 примеров команды cat для начинающих в Linux.

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

С помощью инструмента sort Вы можете сортировать содержимое файлов или вывод утилит в случайном порядке. Для решения этой задачи используется параметр -R. Для примера упорядочим вывод команды ls -l на основе пятого столбца случайным образом:

 

sort random 1

Если еще раз выполнить предыдущую команду, то результат будет совершенно другим:

 

sort random 2

Сортировка файлов с учетом верхнего регистра

В нашей ОС Linux есть файл test.txt, в котором каждая строка содержит одно слово. Первые буквы этих слов имеют разный регистр. Просмотрим содержимое документа при помощи следующей команды:

 

cat test

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

Для этого измените значение системной переменной LC_ALL на С. А затем выполните команду sort:

 

sort upper case

На скриншоте видно, что результаты двух сортировок совершенно разные.

Читайте также: Как установить и отключить переменные локальной, пользовательской и системной среды в Linux.

Объединение двух файлов и их сортировка

Допустим, в нашей ОС есть два файла file1.txt и file2.txt. Выведем на экран их содержимое с помощью команды:

 

cat two files

Как Вы могли заметить, оба файла имеют одинаковую структуру: в первом столбце записаны цифры от 1 до 5, во втором — обычные слова.

Например, нам нужно отсортировать оба файла по отдельности, а затем объединить их содержимое. Для этого можно воспользоваться такой командой:

 

join sort

Выводы

Мы разобрали несколько полезных примеров команды sort, которые помогут Вам упростить работу с файлами. Надеемся, что эта статья была полезной для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

, , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню