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.
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:
- Liniile care încep cu caractere numerice au cea mai mare prioritate.
- Comanda va sorta liniile în ordine alfabetică, după sortarea liniilor care încep cu cifre.
- 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.
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
- Linux
- Gestionarea fișierelor
- Linux
- Comenzi Linux
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ă.
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.