Linux ви предоставя няколко помощни програми, които можете да използвате за обработка на текстови файлове. Независимо дали искате да премахнете дублирани данни или да сортирате съдържанието във файл, инструментите на командния ред на Linux разполагат с всичко необходимо.

Тази статия ще демонстрира командата за сортиране и как можете да я използвате, за да сортирате съдържанието в текстов файл и да го подредите по съответния начин.

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

Както бе споменато по-горе, командата за сортиране помага на потребителя да подреди съдържанието на текстов файл в определен ред. Налични са няколко опции, които ви позволяват да сортирате файла според вашето желание. Това е стандартна програма за Linux, която може да сортира текстов файл по азбучен ред, числово, по колона и други, както в нормален, така и в обратен ред.

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

instagram viewer

Как да използвам сортирането в Linux

Въпреки че сортирането съдържа няколко метода и флагове, които можете да използвате, все още е лесно да се научите.

Основен синтаксис

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

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

...където име на файл е абсолютният или относителният път на текстовия файл, който искате да сортирате.

По подразбиране сортирането ще подреди съдържанието според следните критерии:

  1. Редовете, започващи с цифрови знаци, имат най-висок приоритет.
  2. Командата ще сортира редовете по азбучен ред, след като сортира редовете, започващи с цифри.
  3. Редовете, започващи с малки букви, предшестват редовете, започващи със същия знак в главни букви.

Помислете за текстов файл с име textfile.txt съдържаща следната информация:

За да сортирате файла, като използвате конфигурацията по подразбиране:

сортиране на textfile.txt

Изход:

Създайте нов изходен файл

Командата за сортиране не променя съдържанието на файла. Той просто изпраща сортираното съдържание към стандартния изход. Това обаче не означава, че сортирането не може да създаде нов файл. Можете да използвате флаг, за да посочите името на сортирания файл и сортирането автоматично ще създаде файла за вас и ще добави съдържанието.

сортиране -o сортирано име на файл

...където сортиран файл е името на изходния файл и име на файл е оригиналният файл, който се нуждае от сортиране.

Да сортирам textfile.txt и създайте нов изходен файл за съдържанието:

сортиране -o сортиран.txt текстов файл.txt

Изход:

Сортиране на няколко файла

За да сортирате повече от един файл наведнъж, просто предайте имената на файлове, разделени с Космос характер.

сортиране на textfile.txt textfile2.txt

Изход:

Имайте предвид, че сортирането ще обедини изхода на файловете и ще ги покаже заедно в терминала.

Обратно сортиране на файл

Ако искате да обърнете подредбата на съдържанието, използвайте -r флаг с командата по подразбиране. The -r в следната команда означава Обратен.

сортиране -r textfile.txt

Изход:

Сортирайте файл числово

За да сортирате файл, съдържащ числови данни, използвайте флаг с командата. По подразбиране сортирането ще подреди данните във възходящ ред.

сортиране -n номера.txt

Изход:

Ако искате да сортирате в низходящ ред, обърнете подредбата с помощта на -r опция заедно с флаг в командата.

сортиране -rn номера.txt

Изход:

Игнориране на знака при сортиране

По подразбиране сортирането взема предвид знаците на съдържанието. Редове, започващи с малки букви, предшестват редове, започващи с версията с главни букви на същия знак. Например „той е момче“ ще предшества „Той е момче“.

Ако искате сортирането да игнорира символните букви, посочете -f или --ignore-case флаг, както следва:

сортиране -f textfile.txt
сортиране --ignore-case textfile.txt

Изход:

Сортиране на файл въз основа на месец

Използвайки флаг, можете да промените реда на съдържанието на файла въз основа на имената на месеците.

сортиране -M textfile2.txt

Изход:

Игнорирайте водещите заготовки

Понякога файлът, който искате да сортирате, може да съдържа интервали или раздели. За да игнорирате такива празни знаци, използвайте флаг.

сортиране -b fileblanks.txt

Изход:

Сортиране на файл според колона

Ако имате текстов файл с данни, подредени в отделни колони, можете да сортирате файла според съдържанието на колона. Всичко, което трябва да направите, е да предадете номера на колоната заедно с флаг.

Помислете за текстов файл, съдържащ информация за файла с различни колони. За да сортирате файл с име output.txt според осмата колона:

сортиране -k8 -rn изход.txt

Изход:

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

Можете дори да използвате сортиране с други команди на Linux, за да промените подредбата на изхода. Например, за да сортирате изхода на командата ls според размера на файловете:

ls -la | сортиране -k5 -rn

Изход:

Сортиране на файл на случаен принцип

Можете да използвате -R флаг, ако искате да рандомизирате реда на редовете в текстов файл. Разгледайте файла textfile.txt:

сортиране -R textfile.txt

Изход:

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

Ако имате текстов файл, съдържащ информация за версията, свързана с даден пакет, можете да сортирате съдържанието му с помощта на -V или --version-sort флаг.

сортиране -V версия.txt
сортиране - версия-сортиране версия.txt

Изход:

Проверете дали файлът е сортиран

The -° С flag ще ви помогне при идентифицирането на файлове, които вече са сортирани според посочените опции. Ако съдържанието на файла е правилно сортирано, сортирането няма да покаже изход.

За да проверите дали файлът textfile.txt е сортирано:

сортиране -c textfile.txt

Сега, нека сортираме файла и запазим изхода му в нов файл с име sorted.txt. При издаване на следната команда:

сортиране -c сортирано.txt

Изход:

Можете също така да посочите различни флагове, за да проверите подредбата на файла според определени критерии. Например, за да проверите дали файлът числа.txt се сортира в низходящ ред:

сортиране -c -rn номера.txt

Ще видите изход, в който се посочва, че файлът не е сортиран правилно. Нека да сортираме файла и да проверим дали новият файл преминава теста.

сортиране -o сортирано.txt -rn номера.txt
сортиране -c -rn сортирано.txt

Изход:

Сортирайте файла и премахнете дубликати

Файлът, с който работите, може да съдържа дублирани данни. Въпреки че можете да използвате командата uniq за да премахнете такава информация от файла, сортирането може да изпълни тази задача вместо вас. The -u или --единствен по рода си флагът е това, от което се нуждаете.

Помислете за файл с име дубликат.txt:

За да сортирате файла и да премахнете повтарящите се данни:

сортиране -u дубликат.txt

Изход:

Можете да видите това, когато използвате -u флаг, сортиране показва само отделни линии и ги подрежда според посочените критерии.

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

Въпреки че мощността на текстовите редактори на командния ред е ненадмината, все пак можете да изберете графичен редактор като gedit, за да модифицирате лесно съдържанието на текстов файл. Освен това е по-добър избор за тези, които са нови в Linux и не могат да се справят с терминала.

Най-добрият начин да започнете с командния ред, и Linux като цяло, е като първо тренирате основни команди. След покриване на основните помощни програми, постепенното преминаване към по-сложни команди е може би най-добрият подход.

електронна поща
Справочник за команди на Linux Commands

Този прост измамен лист ще ви помогне да се почувствате удобно с терминала на командния ред на Linux за нула време.

Прочетете Напред

Свързани теми
  • Linux
  • Управление на файлове
  • Linux
  • Linux команди
За автора
Дийпеш Шарма (69 статии публикувани)

Deepesh е младши редактор за Linux в MUO. Той пише информационно съдържание в интернет повече от 3 години. В свободното си време той обича да пише, да слуша музика и да свири на китара.

Още от Deepesh Sharma

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!

Още една стъпка…!

Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.

.