[Video] v20.10 Утилита sort – Сортировка данных в файлах.

Это десятое видео о написании скриптов в коммандной оболочке – bash scripting.
В этом видео я рассказываю о команде sort – данная утилита позволяет построчно упорядочить данные в файлах.
sort – sort lines of text files

Сначала я создам файл и добавлю туда различные слова:
~/MyTest$ cat > food.txt
banana
apple
orange
grape
lemon
kiwi
pineapple
melon
watermelon

Что делает sort?
Если я напишу “sort food.txt”, то в выводе строки будут отсортированы в алфавитном порядке.
:~/MyTest$ sort food.txt
apple
banana
grape
kiwi
lemon
melon
orange
pineapple
watermelon

Если я создам второй файл c числами произвольного содержания и длины:
:~/MyTest$ cat > numbers.txt
988
9789
97801
97802
344
233
433
766
877
100
011
544
4444
66

Применю команду sort, то числа будут упорядочены в порядке возростания
:~/MyTest$ sort numbers.txt
011
100
233
344
433
4444
544
66
766
877
97801
97802
9789
988

Как видно, из вывода команды – в случае если первый символ одинаков для разных строк, то они будут отсортированы по второму, третьему и так далее символу.

В случае произвольного файла сортировка происходит следующим образом:
:~/MyTest$ cat testtext.txt
123456
134567
112233
aaa bbb ccc
aaa bbb ddd
aaa aaa bbb
111 aaa bbb

:~/MyTest$ sort testtext.txt
111 aaa bbb
112233
123456
134567
aaa aaa bbb
aaa bbb ccc
aaa bbb ddd

Утилита sort очень полезна в скриптах, подробнее о её применении я расскажу в следующих видео.
Дополнительная информация о утилите sort есть в мануале к данной команде:
man sort
Можно делать обратную сортировку, сортировать на основе дат и тп.

Можно даже сортировать файлы содержащие кириллицу, но это не всегда правда работает коррекно:
:~/MyTest$ cat машины.txt
лада
оперь
ауди
бмв
мерседес

:~/MyTest$ sort машины.txt
ауди
бмв
лада
мерседес
оперь

————————————–
На сегодня всё, надеюсь вам пригодится данная статья.
Удачи!
———————–
Sources:
раз
два