Как отсортировать текстовые файлы в Linux с помощью команды сортировки

Как отсортировать текстовые файлы в Linux с помощью команды сортировки

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





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





Что такое команда сортировки?

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





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

Как использовать сортировку в Linux

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



Базовый синтаксис

Основной синтаксис использования сортировки:

sort filename

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





По умолчанию при сортировке содержимое упорядочивается по следующим критериям:

  1. Строки, начинающиеся с цифровых символов, имеют наивысший приоритет.
  2. Команда отсортирует строки в алфавитном порядке после сортировки строк, начинающихся с цифр.
  3. Строки, начинающиеся со строчных букв, предшествуют строкам, начинающимся с того же символа в верхнем регистре.

Рассмотрим текстовый файл с именем textfile.txt содержащий следующую информацию:





Чтобы отсортировать файл с использованием конфигурации по умолчанию:

sort textfile.txt

Выход:

Создать новый выходной файл

Команда сортировки не изменяет содержимое файла. Он просто отправляет отсортированный контент на стандартный вывод. Однако это не означает, что сортировка не может создать новый файл. Вы можете использовать -или , чтобы указать имя отсортированного файла, и sort автоматически создаст файл для вас и добавит содержимое.

как экран зеркало на xbox one
sort -o sortedfile filename

...куда отсортированный файл это имя выходного файла и имя файла - это исходный файл, который нужно отсортировать.

Сортировать textfile.txt и создайте новый выходной файл для содержимого:

sort -o sorted.txt textfile.txt

Выход:

Сортировать несколько файлов

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

sort textfile.txt textfile2.txt

Выход:

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

Обратная сортировка файла

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

sort -r textfile.txt

Выход:

Сортировка файла по номерам

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

sort -n numbers.txt

Выход:

Если вы хотите отсортировать по убыванию, измените порядок, используя вариант вместе с -n флаг в команде.

sort -rn numbers.txt

Выход:

Игнорировать регистр символов при сортировке

По умолчанию при сортировке учитывается регистр символов содержимого. Строки, начинающиеся с символов нижнего регистра, предшествуют строкам, начинающимся с версии того же символа в верхнем регистре. Например, «он мальчик» будет предшествовать «он мальчик».

Если вы хотите, чтобы сортировка игнорировала регистр символов, укажите -f или --ignore-case отметьте следующим образом:

sort -f textfile.txt
sort --ignore-case textfile.txt

Выход:

Сортировка файла по месяцу

С помощью -M флаг, вы можете изменить порядок содержимого файла в зависимости от названий месяцев.

sort -M textfile2.txt

Выход:

Игнорировать ведущие пробелы

Иногда файл, который вы хотите отсортировать, может содержать пробелы или табуляции. Чтобы игнорировать такие пустые символы, используйте -b флаг.

sort -b fileblanks.txt

Выход:

Сортировка файла по столбцу

Если у вас есть текстовый файл с данными, расположенными в отдельных столбцах, вы можете отсортировать файл по содержимому столбца. Все, что вам нужно сделать, это передать номер столбца вместе с флаг.

Рассмотрим текстовый файл, содержащий информацию о файле с разными столбцами. Чтобы отсортировать файл с именем output.txt согласно восьмому столбцу:

лучшее место для покупки собаки
sort -k8 -rn output.txt

Выход:

Сортировка по трубе с другими командами

Вы даже можете использовать sort с другими командами Linux, чтобы изменить расположение вывода. Например, чтобы отсортировать вывод команда ls по размеру файлов:

ls -la | sort -k5 -rn

Выход:

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

Вы можете использовать отметьте, если вы хотите изменить порядок строк в текстовом файле. Рассмотрим файл textfile.txt :

sort -R textfile.txt

Выход:

Сортировка номеров версий в файле

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

лучшие музыкальные приложения для iphone
sort -V version.txt
sort --version-sort version.txt

Выход:

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

В -c flag поможет вам определить файлы, которые уже отсортированы в соответствии с указанными параметрами. Если содержимое файла отсортировано правильно, сортировка не отобразит никаких результатов.

Чтобы проверить, textfile.txt отсортировано:

sort -c textfile.txt

Теперь давайте отсортируем файл и сохраним его вывод в новый файл с именем sorted.txt . При выдаче следующей команды:

sort -c sorted.txt

Выход:

Вы также можете указать различные флаги для проверки расположения файла в соответствии с определенными критериями. Например, чтобы проверить, не numbers.txt сортируется в порядке убывания:

sort -c -rn numbers.txt

Вы увидите вывод о том, что файл не отсортирован должным образом. Давайте отсортируем файл и проверим, прошел ли новый файл тест.

sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

Выход:

Сортировка файла и удаление дубликатов

Файл, с которым вы работаете, может содержать повторяющиеся данные. Хотя вы можете использовать команда uniq Чтобы удалить такую ​​информацию из файла, sort может выполнить эту задачу за вас. В -u или --уникальный флаг - это то, что вам нужно.

Рассмотрим файл с именем duplicate.txt :

Чтобы отсортировать файл и удалить повторяющиеся данные:

sort -u duplicate.txt

Выход:

Вы можете видеть это, когда используете -u flag, sort отображает только отдельные строки и упорядочивает их в соответствии с указанными критериями.

Работа с текстовыми файлами в Linux

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

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

Делиться Делиться Твитнуть Эл. адрес Памятка по командам Linux

Эта простая шпаргалка поможет вам быстро освоить терминал командной строки Linux.

Читать далее
Похожие темы
  • Linux
  • Управление файлами
  • Linux
  • Команды Linux
Об авторе Дипеш Шарма(Опубликовано 79 статей)

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

Ещё от Deepesh Sharma

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться
Категория Linux