Linux vă oferă mai multe utilitare pe care le puteți utiliza pentru a procesa fișiere text. Indiferent dacă doriți să eliminați datele duplicate sau să sortați conținutul dintr-un fișier, instrumentele din linia de comandă Linux au tot ce aveți nevoie.

Acest articol va demonstra comanda de sortare și modul în care o puteți utiliza pentru a sorta conținutul dintr-un fișier text și a-l aranja în consecință.

Care este comanda sort?

După cum sa menționat mai sus, comanda sortare ajută un utilizator să aranjeze conținutul unui fișier text într-o anumită ordine. Sunt disponibile mai multe opțiuni care vă permit să sortați fișierul în funcție de dorința dvs. Este un program Linux standard care poate sorta un fișier text în ordine alfabetică, numerică, pe coloane și multe altele, fie în ordine normală, fie inversă.

Alte funcționalități ale comenzii includ ignorarea cazurilor de caractere în timpul sortării, sortarea unui fișier pe lună, ignorarea spațiilor goale dintr-un fișier și sortarea aleatorie. Folosind sortare, puteți verifica, de asemenea, dacă un fișier este deja sortat sau nu.

instagram viewer

Cum se folosește sortarea în Linux

Deși sortarea conține mai multe metode și steaguri pe care le puteți utiliza, rămâne ușor de învățat.

Sintaxa de bază

Sintaxa de bază a utilizării sortului este:

sortați numele fișierului

...Unde nume de fișier este calea absolută sau relativă a fișierului text pe care doriți să o sortați.

În mod implicit, sortarea va aranja conținutul conform următoarelor criterii:

  1. Liniile care încep cu caractere numerice au cea mai mare prioritate.
  2. Comanda va sorta liniile în ordine alfabetică, după sortarea liniilor care încep cu cifre.
  3. Liniile care încep cu caractere minuscule preced liniile care încep cu același caracter cu majuscule.

Luați în considerare un fișier text numit textfile.txt care conține următoarele informații:

Pentru a sorta fișierul utilizând configurația implicită:

sortați textfile.txt

Ieșire:

Creați un fișier de ieșire nou

Comanda sort nu modifică conținutul fișierului. Pur și simplu trimite conținutul sortat la ieșirea standard. Cu toate acestea, acest lucru nu înseamnă că sortarea nu poate crea un fișier nou. Puteți utiliza -o flag pentru a specifica numele fișierului sortat și sortare va crea automat fișierul pentru dvs. și va adăuga conținutul.

sort -o sortedfile file name

...Unde sortedfile este numele fișierului de ieșire și nume de fișier este fișierul original care necesită sortare.

A sorta textfile.txt și creați un nou fișier de ieșire pentru conținut:

sort -o sorted.txt textfile.txt

Ieșire:

Sortează mai multe fișiere

Pentru a sorta mai multe fișiere simultan, pur și simplu treceți numele fișierelor separate de Spaţiu caracter.

sortați textfile.txt textfile2.txt

Ieșire:

Rețineți că sortarea va îmbina ieșirea fișierelor și le va afișa împreună în terminal.

Sortați invers un fișier

Dacă doriți să inversați aranjarea conținutului, utilizați -r semnalizați cu comanda implicită. -r în următoarea comandă reprezintă Verso.

sortează -r textfile.txt

Ieșire:

Sortați numeric un fișier

Pentru a sorta un fișier care conține date numerice, utilizați -n steag cu comanda. În mod implicit, sortarea va aranja datele în ordine crescătoare.

sortează -n numere.txt

Ieșire:

Dacă doriți să sortați în ordine descrescătoare, inversați aranjamentul folosind -r opțiune împreună cu -n steag în comandă.

sortează -rn numbers.txt

Ieșire:

Ignorați majusculele de caractere în timpul sortării

În mod implicit, sortarea ia în considerare majusculele și caracterele conținutului. Liniile care încep cu caractere minuscule preced liniile care încep cu versiunea cu majuscule a aceluiași caracter. De exemplu, „el este un băiat” va preceda „El este un băiat”.

Dacă doriți ca sortarea să ignore majuscule, scrieți -f sau --ignore-case semnalizați după cum urmează:

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

Ieșire:

Sortați un fișier pe baza lunii

Folosind -M pavilion, puteți modifica ordinea conținutului unui fișier pe baza numelor lunii.

sortează -M textfile2.txt

Ieșire:

Ignorați golurile principale

Uneori, fișierul pe care doriți să îl sortați poate conține spații sau file. Pentru a ignora astfel de caractere goale, utilizați -b steag.

sortează -b fileblanks.txt

Ieșire:

Sortați un fișier în funcție de o coloană

Dacă aveți un fișier text cu date aranjate în coloane separate, puteți sorta fișierul în funcție de conținutul unei coloane. Tot ce trebuie să faceți este să treceți numărul coloanei împreună cu -k steag.

Luați în considerare un fișier text care conține informații despre fișiere cu coloane diferite. Pentru a sorta un fișier numit output.txt conform celei de-a opta coloane:

sortează -k8 -rn output.txt

Ieșire:

Sortați țevi cu alte comenzi

Puteți folosi chiar sortarea cu alte comenzi Linux pentru a modifica dispunerea ieșirii. De exemplu, pentru a sorta ieșirea din comanda ls în funcție de dimensiunea fișierelor:

ls -la | sortează -k5 -rn

Ieșire:

Sortează aleatoriu un fișier

Puteți utiliza -R semnalizați dacă doriți să randomizați ordinea liniilor dintr-un fișier text. Luați în considerare fișierul textfile.txt:

sortează -R textfile.txt

Ieșire:

Sortați numerele de versiune într-un fișier

Dacă aveți un fișier text care conține informații despre versiune asociate unui pachet, puteți sorta conținutul acestuia folosind -V sau --version-sort steag.

sortează -V version.txt
sort --version-sort version.txt

Ieșire:

Verificați dacă este sortat un fișier

-c flag vă va ajuta să identificați fișierele care sunt deja sortate în funcție de opțiunile specificate. Dacă conținutul fișierului este sortat corect, sortarea nu va afișa nicio ieșire.

Pentru a verifica dacă fișierul textfile.txt este sortat:

sortează -c textfile.txt

Acum, să sortăm fișierul și să salvăm rezultatul într-un fișier nou numit sortat.txt. La emiterea următoarei comenzi:

sort -c sorted.txt

Ieșire:

De asemenea, puteți specifica diferite steaguri pentru a verifica dispunerea fișierului în funcție de anumite criterii. De exemplu, pentru a verifica dacă fișierul numere.txt este sortat în ordine descrescătoare:

sortează -c -rn numere.txt

Veți vedea o ieșire care arată că fișierul nu este sortat corect. Să sortăm fișierul și să verificăm dacă noul fișier trece testul.

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

Ieșire:

Sortează fișierul și elimină duplicatele

Fișierul cu care lucrați poate conține date duplicat. Deși puteți folosi comanda uniq pentru a elimina astfel de informații din fișier, sortarea poate efectua această sarcină pentru dvs. -u sau --unic steagul este ceea ce ai nevoie.

Luați în considerare un fișier numit duplicat.txt:

Pentru a sorta fișierul și a elimina datele repetate:

sortează -u duplicate.txt

Ieșire:

Puteți vedea asta când utilizați -u flag, sortare afișează numai linii distincte și le aranjează în conformitate cu criteriile specificate.

Lucrul cu fișiere text în Linux

Deși puterea editorilor de text din linia de comandă este de neegalat, puteți opta pentru un editor grafic, cum ar fi gedit, pentru a modifica cu ușurință conținutul unui fișier text. De asemenea, este o alegere mai bună pentru cei care sunt noi în Linux și nu se pot ocupa de terminal.

Cel mai bun mod de a începe cu linia de comandă și, în general, cu Linux, este practicând mai întâi comenzile de bază. După acoperirea utilităților fundamentale, avansarea treptată către comenzi mai complexe este probabil cea mai bună abordare.

E-mail
Foaia de cheat de referință a comenzilor Linux

Această foaie simplă de cheat vă va ajuta să vă simțiți confortabil cu terminalul liniei de comandă Linux în cel mai scurt timp.

Citiți în continuare

Subiecte asemănătoare
  • Linux
  • Gestionarea fișierelor
  • Linux
  • Comenzi Linux
Despre autor
Deepesh Sharma (69 articole publicate)

Deepesh este Junior Editor pentru Linux la MUO. Scrie conținut informațional pe internet de peste 3 ani. În timpul liber, îi place să scrie, să asculte muzică și să cânte la chitară.

Mai multe de la Deepesh Sharma

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Încă un pas…!

Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.

.