Сортировка по возрастанию linux

Содержание
  1. COREUTILS. Команда sort. Сортировка вывода программ
  2. Команда sort в Linux с примерами
  3. Сохранить результат в другом файле
  4. Сортировка по номеру столбца
  5. Проверьте отсортированное состояние файла
  6. Отсортированные данные
  7. Удалить повторяющиеся элементы
  8. Сортировка с помощью конвейера в команде
  9. Случайная сортировка
  10. Сортировка данных из нескольких файлов
  11. Сортировать с присоединением
  12. Сравнить файлы с помощью сортировки
  13. Заключение
  14. Примеры использования утилиты sort
  15. Принципы, по которым команда sort linux сортирует строки
  16. Пример сортировки и обратной сортировки
  17. Сортировка по колонке и по нескольким полям
  18. Использование sort для удаления дубликатов
  19. 10 полезных примеров команды Sort в Linux
  20. Команда Sort в Linux
  21. Примеры команды сортировки
  22. 1. Сортировка в алфавитном порядке
  23. 2. Сортировка по числовому значению [опция -n]
  24. 3. Сортировка в обратном порядке [опция -r]
  25. 4. Случайная сортировка [опция -R]
  26. 5. Сортировать по месяцам [опция -M]
  27. 6. Сохраните отсортированные результаты в другой файл
  28. 7. Сортировать определенный столбец [опция -k]
  29. 8. Сортировка и удаление дубликатов [опция -u]
  30. 9. Игнорировать регистр при сортировке [опция -f]
  31. 10. Сортировка по числовым значениям человека [опция -h]

COREUTILS. Команда sort. Сортировка вывода программ

Скорее всего пакет coreutils у вас уже установлен, хотя бы потому, что удалить его нельзя, но на всякий случай проверьте:

dpkg -l | grep coreutils #для debian-based дистрибутивов

Если в первой колонке вывода будет стоять буква «i», означающая installed, значит все в порядке.

Пользоваться утилитой sort для сортировки вывода программ предельно просто. Для этого достаточно просто перенаправить вывод какой-либо программы на поток ввода sort:

Данная конструкция сначала вызовет команду ls, которая считает содержимое каталога, а затем передаст результат команде sort, которая отсортирует его по алфавиту (ключ -d указывает использовать алфавит в качестве шаблона).

Другой пример использования команды sort в linux — это сортировка содержимого файла. Отсортируем, например, строки, содержащиеся в файле /etc/passwd, с целью получения имен пользователей по алфавиту:

sort -d /etc/passwd

Но что делать, если вы хотите, используя тот же файл, отсортировать строки уже не по имени пользователя, а, например, по их уникальному идентификатору (UID)? Утилита sort умеет работать и с таблицами — сортировать по столбцу. Вернее изначально, sort как раз и работает с таблицами, вот только в качестве разделителя она по-умолчанию использует пробел и знак табуляции для разделения столбцов, знак переноса строки для разделения строк. Так как файл /etc/passwd использует «:» для разделения столбцов, то этот символ нужно передать sort при помощи ключа «-t» явно, а далее просто указать номер столбца с помощью ключа «-k». Но только ничего не получится, если опять же не указать шаблон. В данном случае нам понадобиться сортировать числа — поэтому вместо «-d» (по алфавиту) стаим -n (по числам). Вот, что получилось:

sort -n -t : -k 2,2 /etc/passwd

Внимательный читатель спросит: «Почему в качестве параметра ключа «-k» мы указали не просто номер столбца, а номер столбца через запятую с его же номером?». Ответ прост. Ключ «-k» очень мощный. Он позволяет гибко выбирать сортируемое поле. Используя предыдущий пример, немного изменим параметры ключа «-k»:

sort -n -t : -k 2.2,2.4 /etc/passwd

Добавив точку, мы тем самым сузили диапазон для проведения сортировки. Теперь команда расшифровывается так: отсортируй содержимое файл /etc/passwd, приняв в качестве исходных данных символ со второго по четвертый во 2-ом столбце.

Приведем еще один классный пример. Представим, что у нас закончилось место в разделе /home, и мы хотим узнать 10 самых объемных каталогов и файлов внутри /home с целью понять, куда копать:

du -a /home | sort -n | tail

Сначала командой du мы проходимся по всем файлам и подкаталогам /home, затем сортируем полученные строки по возрастанию и, наконец, tail’ом отображаем последние 10

На этом возможности команды soft не исчерпываются. Полезным может оказаться ключ «-r», позволяющий сортировать строки в обратном порядке. Его не стоит путать с ключом «-R», который совершенно случайным образом сортирует содержимое файла или вывода программы. Должно быть такая функция тоже кому-то будет полезной.

Также стоит обратить ваше внимание на ключ «-u», который заставляет sort выводит только уникальные значения. Т.е., если при сортировке выяснится, что сортируемые значения одинаковы, будет выведено только то, которое первым попало в поле зрения sort. Ключ «-u» не работает для значений, например «1» и » 1″ (один и пробел один), так как пробел тоже считается символом. Чтобы этого избежать применяют ключ «-b», позволяющий игнорировать пробелы перед сортируемой строкой.

Читайте также:  Как удалить с загрузчика windows ubuntu

Источник

Команда sort в Linux с примерами

Команда SORT в Linux используется для упорядочивания записей в определенном порядке в соответствии с используемой опцией. Это помогает в сортировке данных в файле построчно. Команда SORT имеет разные функции, которым она следует в результате команд. Во-первых, строки с номерами будут предшествовать буквенным строкам. Строки с строчными буквами будут отображаться раньше, чем строки с тем же символом в верхнем регистре.

Предпосылка

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

Синтаксис

Пример

Это простой пример сортировки файла, имеющего данные об именах. Эти имена расположены не по порядку, и для того, чтобы упорядочить их, вам необходимо их отсортировать.

Итак, рассмотрим файл с именем file1.txt. Мы отобразим содержимое файла с помощью добавленной команды:

Теперь используйте команду для сортировки текста в файле:

Сохранить результат в другом файле

Используя команду сортировки, вы узнаете, что ее результат только отображается, но не сохраняется. Чтобы зафиксировать результат, нам нужно его сохранить. Для этого используется опция —o в команде сортировки.

Рассмотрим пример имени sample1.txt с названиями автомобилей. Мы хотим отсортировать их и сохранить полученные данные в отдельном файле. Во время выполнения создается файл с именем result.txt, и в нем сохраняется соответствующий вывод. Данные из sample1.txt передаются в результирующий файл, а затем с помощью —o соответствующие данные сортируются. Мы отобразили данные с помощью команды cat:

$ sort –o result.txt sample1.txt

Вывод показывает, что данные отсортированы и сохранены в другом файле.

Сортировка по номеру столбца

Сортировка выполняется не только по одному столбцу. Мы можем отсортировать один столбец из-за второго столбца. Приведем пример текстового файла, в котором есть имена и оценки студентов. Мы хотим расположить их в порядке возрастания. Поэтому мы будем использовать в команде ключевое слово —k. В то время как —n используется для числовой сортировки.

Поскольку есть два столбца, поэтому 2 используется с n.

Проверьте отсортированное состояние файла

Если вы не уверены, отсортирован данный файл или нет, удалите это сомнение с помощью команды, которая проясняет путаницу и отображает сообщение. Мы рассмотрим два основных примера:

Теперь рассмотрим несортированный файл с названиями овощей.

В команде будет использоваться ключевое слово —c. Это проверит, отсортированы ли данные в файле или нет. Если данные не отсортированы, то вывод будет отображать номер строки первого слова, в котором присутствует несортированность, а также слово.

Из приведенного вывода вы можете понять, что 3- е слово в файле было неуместным.

Отсортированные данные

В этом случае, когда данные уже организованы, больше ничего делать не нужно. Рассмотрим файл result.txt.

Из результата вы можете видеть, что не отображается сообщение, указывающее на то, что данные в соответствующем файле уже отсортированы.

Удалить повторяющиеся элементы

Вот самый полезный вариант. Это помогает удалить повторяющиеся слова в файле и упорядочить элемент файла. Он также поддерживает согласованность данных в файле.

Представьте, что имя файла file2.txt содержит имена субъектов, но одна тема повторяется несколько раз. Затем команда сортировки будет использовать ключевое слово —u для удаления дублирования и родства:

Теперь вы можете видеть, что повторяющиеся элементы удаляются из вывода и что данные также сортируются.

Сортировка с помощью конвейера в команде

Если мы хотим отсортировать данные файла, предоставив список каталога относительно размеров файлов, мы включим все соответствующие данные каталога. ’Ls’ используется в команде, и -l отобразит его. Pipe поможет в упорядоченном отображении файлов.

Случайная сортировка

Иногда, выполняя какую-либо функцию, можно нарушить аранжировку. Если вы хотите расположить данные в любой последовательности и если нет критериев для сортировки, предпочтительнее случайная сортировка. Рассмотрим файл с именем sample3.txt, содержащий названия континентов.

Соответствующие выходные данные показывают, что файл отсортирован, а элементы расположены в другом порядке.

Сортировка данных из нескольких файлов

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

Например, давайте рассмотрим три файла с именами sample1.txt, sample2.txt и sample3.txt. Здесь «?» представляет собой любое число, за которым следует слово «образец». Find извлечет все три файла, и их данные будут отсортированы с помощью команды sort с инициативой pipe:

Читайте также:  Английский word для windows

Выходные данные показывают, что данные всех файлов серии sample.txt отображаются и упорядочены в алфавитном порядке.

Сортировать с присоединением

Теперь мы представляем пример, который сильно отличается от тех, которые обсуждались ранее в этом руководстве. В дополнение к сортировке мы использовали join. Этот процесс выполняется таким образом, что оба файла сначала сортируются, а затем объединяются с помощью ключевого слова join.

Рассмотрим два файла, которые вы хотите объединить.

Теперь используйте приведенный ниже запрос, чтобы применить данную концепцию:

Из вывода видно, что данные обоих файлов объединены в отсортированном виде.

Сравнить файлы с помощью сортировки

Мы также можем принять концепцию сравнения двух файлов. Техника такая же, как и для стыковки. Сначала сортируются два файла, а затем данные в них сравниваются.

Рассмотрим те же два файла, что и в предыдущем примере. Sample2.txt и sample3.txt:

Данные сортируются и упорядочиваются поочередно. Начальная строка файла sample2.txt записывается рядом с первой строкой файла sample3.txt.

Заключение

В этой статье мы рассказали об основных функциях и параметрах команды сортировки. Команда сортировки Linux очень полезна для обслуживания данных и фильтрации всех бесполезных элементов из файлов.

Источник

Примеры использования утилиты sort

sort — UNIX‐ утилита, сортирует содержимое указанных файлов, с учётом установленной в среде переменных локализации.

Утилиту sort можно использовать для сортировки текста из одного или нескольких файлов или c помощью нее может быть выполнена сортировка вывода linux для какой-либо команды, например использования утилиты sort для обнаружения DoS-атак.

Принципы, по которым команда sort linux сортирует строки

Пример сортировки и обратной сортировки

Прямая сортировка файл, по принципам описанным выше, происходит по умолчанию. Просто вызовите команду sort и укажите нужный файл. Например, мы хотим отсортировать по алфавиту файл служб Linux (/etc/services), который хранит информацию о многочисленных службах, которые клиентские приложения могут использовать на компьютере. Внутри файла services находятся имя службы, номер порта и протокол, который он использует, и любые применимые псевдонимы.

Для обратной сортировки используйте ключ r, команда будет выглядеть так:

Сортировка по колонке и по нескольким полям

В этом примере мне нужно вывести все лог файлы и отсортировать их по колонке с названием месяца. Колонка указывается опцией -k, номер колонки для вывода команды ls седьмой. Итого получим такую команду для запуска:

Для сортировки по числовому значению используется опция -n:

Мы можем сортировать данные по нескольким полям, например, отсортируем вывод ls по второму первично и вторично девятому полях:

Использование sort для удаления дубликатов

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

Источник

10 полезных примеров команды Sort в Linux

Главное меню » Операционная система Linux » 10 полезных примеров команды Sort в Linux

Команда Sort в Linux

Команда sort упорядочивает текстовые строки полезными способами. Этот простой инструмент может помочь вам быстро отсортировать информацию из командной строки.

Вы должны отметить несколько вещей:

  • При использовании сортировки без каких-либо параметров применяются правила по умолчанию. Это помогает понять правила по умолчанию, чтобы избежать неожиданных результатов.
  • При использовании сортировки ваши исходные данные в безопасности. Результаты вашего ввода отображаются только в командной строке. Однако вы можете указать вывод в отдельный файл, если хотите. Подробнее об этом позже.
  • Сортировка изначально была разработана для использования с символами ASCII. Мы не проверяли это, но возможно, что разные кодировки могут привести к неожиданным результатам.

Правила по умолчанию в команде sort

Это правила по умолчанию при использовании сортировки. Первые несколько примеров прояснят, как управляются эти приоритеты. Тогда мы рассмотрим специализированные варианты.

Примеры команды сортировки

Позвольте нам показать вам несколько примеров команды sort, которые вы можете использовать в различных ситуациях.

1. Сортировка в алфавитном порядке

Команда sort по умолчанию позволяет легко просматривать информацию в алфавитном порядке. Никаких опций не требуется, и даже для записей со смешанным регистром сортировка AZ работает должным образом

Мы собираемся использовать пример текстового файла с именем andreyex.txt, и если вы просмотрите содержимое файла , вы увидите следующее:

Linux
Debian
Mint
CentOS
Ubuntu

Вот отсортированный по алфавиту вывод:

2. Сортировка по числовому значению [опция -n]

Давайте возьмем тот же список, который мы использовали в предыдущем примере, и отсортируем по порядку номеров. Если вам интересно, список отражает одни из дистрибутивов Linux.

Читайте также:  Как настроить персонализацию для windows 10 без активации

Мы изменили содержимое файла так, чтобы элементы были пронумерованы, но не в порядке, как показано ниже.

1. Debian
2. CentOS
3. Linux
4. Mint
5. Ubuntu

После сортировки результат:

Выглядит хорошо, правда? Вы можете полагаться на этот метод, чтобы точно расположить ваши данные? Возможно нет. Давайте посмотрим на другой пример, чтобы выяснить, почему.

Вот наш новый образец текста:

Теперь, если мы используем команду sort без каких-либо опций, то вот что мы получим:

При добавлении параметра -n, оценивается числовое значение строки, а не только первый символ. Теперь вы можете видеть, что наш список правильно отсортирован.

Теперь у вас будет правильно отсортированный вывод:
1
2
3
5
5
10
21
23
60
432

3. Сортировка в обратном порядке [опция -r]

Для этого мы снова будем использовать наш список дистрибутивов. Обратная функция не требует пояснений. Это изменит порядок содержимого вашего файла.

И здесь у вас есть выходной текст в обратном порядке:

4. Случайная сортировка [опция -R]

Если вы случайно нажали клавишу Shift, при попытке выполнить функцию реверса, возможно, вы получили странные результаты. -R переставляет вывод в случайном порядке.

Вот случайно отсортированный вывод:

5. Сортировать по месяцам [опция -M]

Сортировка также имеет встроенную функциональность, чтобы организовать по месяцам. Он распознает несколько форматов, основанных на информации о конкретной локали. Мы попытаемся продемонстрировать несколько несоответствующих тестов, чтобы показать, что это будет организовано по дате, а не по году. Сокращения месяца отображаются перед полными именами.

Вот пример текстового файла в этом примере:

Mar
March
February
Apr
April
August
July
June
November
September
1
4
3
6
01/03/19
01/08/19
02/09/18

Давайте разберем по месяцам, используя опцию -M:

Вот результат, который вы увидите:

6. Сохраните отсортированные результаты в другой файл

Как мы упоминали ранее, сортировка не изменяет исходный файл по умолчанию. Если вам нужно сохранить отсортированный контент, это можно сделать.

Для этого примера мы создали новый файл, в котором хотим, чтобы отсортированная информация была напечатана и сохранена с именем andreyex_sorted.txt.

Внимание: если вы попытаетесь перенаправить отсортированные данные в один и тот же файл, он сотрет содержимое вашего файла.

Если вы используете команду cat в выходном файле, это будет его содержимое:

7. Сортировать определенный столбец [опция -k]

Если в вашем файле есть таблица, вы можете использовать опцию -k, чтобы указать, какой столбец сортировать. Мы добавили несколько произвольных чисел в качестве третьего столбца и будем отображать выходные данные, отсортированные по каждому столбцу. Мы включили несколько примеров, чтобы показать разнообразие возможных результатов. Опции добавляются после номера столбца.

1. Debian 300
2. CentOS 200
3. Linux 100
4. Mint 400
5. Ubuntu 500

Это позволит отсортировать текст во втором столбце в алфавитном порядке:

Это позволит отсортировать текст по цифрам в третьем столбце.
3. Linux 100
2. CentOS 200
1. Debian 300
4. Mint 400
5. Ubuntu 500

То же, что и вышеупомянутая команда, только что порядок сортировки был обратным.

8. Сортировка и удаление дубликатов [опция -u]

Если у вас есть файл с потенциальными дубликатами, опция -u значительно облегчит вашу жизнь. Помните, что сортировка не будет вносить изменения в исходный файл данных. Мы решили создать новый файл только с элементами, которые являются дубликатами. Ниже вы увидите входные данные, а затем содержимое каждого файла после выполнения команды.

1. Debian
2. CentOS
3. Linux
4. Mint
5. Ubuntu
2. CentOS
3. Linux
4. Mint
1. Debian
3. Linux
5. Ubuntu

Вот выходные файлы отсортированы и без дубликатов.

9. Игнорировать регистр при сортировке [опция -f]

Многие современные дистрибутивы, работающие с sort, по умолчанию реализуют игнорирование регистра. Если это не так, добавление опции -f даст ожидаемые результаты.

Вот вывод, где случаи игнорируются командой sort:

10. Сортировка по числовым значениям человека [опция -h]

Эта опция позволяет сравнивать буквенно-цифровые значения, такие как 2k (то есть 2000).

Вот отсортированный вывод:

Мы надеемся, что эта статья помогла вам получить базовое использование команды sort в Linux. Если у вас есть какой-нибудь классный трюк, почему бы не поделиться им с нами в разделе комментариев?

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью