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

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

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





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





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

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





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

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

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



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

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

sort filename

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





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

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

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





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

sort textfile.txt

Изход:

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

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

защо услугите на google play са спрени
sort -o sortedfile filename

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

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

sort -o sorted.txt textfile.txt

Изход:

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

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

sort textfile.txt textfile2.txt

Изход:

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

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

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

sort -r textfile.txt

Изход:

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

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

sort -n numbers.txt

Изход:

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

sort -rn numbers.txt

Изход:

Игнорирайте регистъра на знаците по време на сортирането

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

Ако искате сортирането да игнорира регистъра на знаците, посочете -f или --ignore-case флаг, както следва:

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

Изход:

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

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

sort -M textfile2.txt

Изход:

Игнорирайте водещите празни места

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

sort -b fileblanks.txt

Изход:

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

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

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

използване на лаптоп като монитор
sort -k8 -rn output.txt

Изход:

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

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

ls -la | sort -k5 -rn

Изход:

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

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

sort -R textfile.txt

Изход:

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

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

yahoomail най -добрата уеб базирана електронна поща
sort -V version.txt
sort --version-sort version.txt

Изход:

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

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

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

sort -c textfile.txt

Сега нека да сортираме файла и да запишем неговия изход в нов файл с име sort.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 може да изпълни тази задача вместо вас. The -u или --единствен по рода си знамето е това, от което се нуждаете.

Помислете за файл с име duplicate.txt :

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

sort -u duplicate.txt

Изход:

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

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

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

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

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

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

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

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

Още от Deepesh Sharma

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

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

Щракнете тук, за да се абонирате
Категория Linux