Команда sort в linux

Відео: LPIC 103.2 Робота c текстовим виведенням в Linux

Сьогодні ми поговоримо про команду sort. Це утиліта для виведення текстових рядків в певному порядку. Простіше кажучи, для сортування. Її можна використовувати для сортування тексту з одного або декількох файлів або c допомогою неї може бути виконана сортування виведення linux для будь-якої команди. Це може бути корисно в багатьох випадках. Наприклад, впорядкувати файли за розміром у висновку команди du або зібрати частотність використання команд з історії.

У цій інструкції ми докладно розглянемо можливості команди sort Linux, її опції і розберемо кілька прикладів використання.

синтаксис

Вже за традицією подібних статей, спочатку розглянемо загальний синтаксис команди:

Відео: BASH Shell commands sort (commands for linux)

$ sort опції файл

або

$ команда | sort опції

Опції




Тепер розглянемо основні опції утиліти sort.

Відео: Pipes, Grep, Sort - Linux Tutorial 9

  • -b - не враховувати прогалини
  • -d - використовувати для сортування тільки букви і цифри
  • -i - сортувати тільки по ASCII символах
  • -n - сортування рядків linux по числовим значенням
  • -r - сортувати в зворотньому порядку
  • - перевірити чи був відсортований файл
  • -o - вивести результат в файл
  • -u - ігнорувати повторювані рядки
  • -m - об`єднання раніше відсортованих файлів
  • -k - вказати поле по якому потрібно сортувати рядки, якщо не задано, сортування виконується по всій рядку.
  • -f - використовувати як роздільник полів ваш символ замість пробілу.

Я розумію, що багато з усього цього може бути незрозуміло, але на прикладах все стане набагато ясніше.

Приклади використання sort

Нарешті ми дісталися до теми приклади sort Linux. Давайте спочатку створимо файл з кількома рядками, на якому і будемо перевіряти можливості утиліти.

computer
mouse
LAPTOP
data
RedHat
laptop
debian
laptop

Також можна скористатися ось такою командою:

$ Sort test.txt
data
debian
laptop
laptop
LAPTOP
mouse
RedHat


Ось кілька принципів, за якими команда sort linux сортує рядки:

  • Рядки з цифрами розміщуються вище інших рядків
  • Рядки, що починаються з літер нижнього регістру розміщуються вище
  • Сортування виконується відповідно алфавітом
  • Рядки спочатку сортуються за алфавітом, а вже вдруге за іншими правилами.

2. Скасувати сортування

Відсортуємо файл в зворотному порядку:

$ Sort -r test.txt
mouse
LAPTOP
laptop
laptop
debian
data
computer

3. Сортування по колонці

Відсортуємо висновок команди ls по дев`ятій колонці, тобто по імені файлу або папки. Колонку вкажемо опцією -k:

$ Ls -l | sort -k9
drwx ------ 3 user user 4096 Січня 14 22:18 Desktop
drwxr-xr-x 12 user user 4096 Січня 14 21:49 Documents
drwx ------ 5 user user 12288 Січня 15 14:59 Downloads
drwxr-xr-x 7 user user 4096 Січня 13 11:42 Lightworks

Сортування виведення Linux виконується так само просто як і рядків з файлу.

4. Сортування за номером

Відсортуємо висновок команди ls по другій колонці. Для сортування по числовим значенням використовується опція -n:

$ Ls -l | sort -nk2
drwxr-xr-x 6 user user 4096 дек 6 14:29 Android
drwxr-xr-x 7 user user 4096 Червня 10 2015 Sources
drwxr-xr-x 7 user user 4096 Жовтня 31 15:08 VirtualBox
drwxr-xr-x 7 user user 4096 Січня 13 11:42 Lightworks
drwxr-xr-x 8 user user 12288 Січня 11 12:33 Pictures

5. Видалення дублікатів

Команда sort Linux дозволяє не тільки сортувати рядки, але і видаляти дублікати. Для цього є опція -u:

$ Sort -u test.txt
data
debian
laptop
LAPTOP
mouse
RedHat

Тепер рядок laptop не повторюється.

6. Сортування по декількох полях

Ми можемо сортувати дані по декількох полях. Наприклад, відсортуємо висновок ls по другому первинно і вдруге дев`ятого полях:

$ Ls -l | sort -t "," -nk2,5 -k9
drwxr-xr-x 2 seriyyy95 seriyyy95 4096 Січня 13 10:43 tmp
drwx ------ 3 seriyyy95 seriyyy95 4096 Січня 14 22:18 Desktop
drwxr-xr-x 3 seriyyy95 seriyyy95 4096 Березня 28 2015 Журнали
drwx ------ 4 seriyyy95 seriyyy95 12288 Січня 15 15:42 Завантаження

От і все. Ми трохи привідкрили завісу над можливостями сортування рядків linux за допомогою команди sort. Якщо у вас залишилися питання - питайте в коментарях!

>
Поділися в соціальних мережах:

Схожі
Незмінні файли в linuxНезмінні файли в linux
Список процесів linuxСписок процесів linux
Новий blackarch містить понад 1500 хакерських інструментівНовий blackarch містить понад 1500 хакерських інструментів
Команда cat linuxКоманда cat linux
Команда find в linuxКоманда find в linux
Історія команд linuxІсторія команд linux
Управління процесами в linuxУправління процесами в linux
Як видалити користувача в linuxЯк видалити користувача в linux
Команда dd linuxКоманда dd linux
Об`єкт array в jаvascriptОб`єкт array в jаvascript
» » Команда sort в linux