Команда sort
Описание
Это утилита для вывода текстовых строк в определенном порядке, то есть, для сортировки строк. Её можно использовать для сортировки текста из одного или нескольких файлов, или c помощью нее может быть выполнена сортировка вывода linux для какой-либо команды.
Синтаксис команды очень простой. Может быть два варианта ввода:
- Ввод только опций и пути к файлу для обычной сортировки
1 $ sort опции /путь/к/файлу
- Ввод помимо всего прочего и некоторой команды, по результатам выполнения которой будет производиться сортировка
1 $ команда | sort опции
Например, если ввести некоторый файл bioinformatics.txt со строками
computer |
Alphafold |
docking |
Swissprot |
python |
linux |
bash |
То sort bioinformatics.txt выведет
Вот несколько принципов, по которым команда sort сортирует строки:
- Строки с цифрами размещаются выше других строк
- Строки, начинающиеся с букв нижнего регистра размещаются выше
- Сортировка выполняется в соответствии алфавиту
- Строки сначала сортируются по алфавиту, а уже вторично по другим правилам.
Опции
Сортировка в обратном порядке (-r от reverse)
Просто после сортировки выводит данные в обратном порядке. То есть:
1 $ sort -r bioinformatics.txt
выведет
Удаление дубликатов (-u от unique)
Команда sort Linux позволяет не только сортировать строки, но и удалять дубликаты. Для этого есть опция -u.
Введём дополнительный элемент в наш файл (допустим, последней строчкой):
bash |
Тогда
1 $ sort -u bioinformatics.txt
выдаст
Как можно легко заметить, из списка пропал дубликат, и строчка "bash" не повторяется.