Sådan sorteres tekstfiler i Linux ved hjælp af kommandoen sort

Sådan sorteres tekstfiler i Linux ved hjælp af kommandoen sort

Linux giver dig flere værktøjer, som du kan bruge til at behandle tekstfiler. Uanset om du vil fjerne dublerede data eller sortere indholdet i en fil, har Linux kommandolinjeværktøjer alt, hvad du har brug for.





Denne artikel vil vise sorteringskommandoen, og hvordan du kan bruge den til at sortere indholdet i en tekstfil og arrangere den derefter.





Hvad er sorteringskommandoen?

Som nævnt ovenfor hjælper sorteringskommandoen en bruger med at arrangere indholdet af en tekstfil i en bestemt rækkefølge. Der er flere muligheder, der giver dig mulighed for at sortere filen efter dit ønske. Det er et standard Linux -program, der kan sortere en tekstfil alfabetisk, numerisk, efter kolonne og mere i enten normal eller omvendt rækkefølge.





Andre funktioner i kommandoen omfatter ignorering af tegnsager under sortering, sortering af en fil efter måned, ignorering af emner i en fil og tilfældig sortering. Ved hjælp af sortering kan du også kontrollere, om en fil allerede er sorteret eller ej.

Sådan bruges sortering i Linux

Selvom sortering indeholder flere metoder og flag, som du kan bruge, er det stadig let at lære.



Grundlæggende syntaks

Den grundlæggende syntaks for at bruge sortering er:

sort filename

...hvor filnavn er den absolutte eller relative sti for den tekstfil, du vil sortere.





Som standard arrangerer sorteringen indholdet efter følgende kriterier:

  1. Linjer, der begynder med numeriske tegn, har den højeste prioritet.
  2. Kommandoen sorterer linjerne alfabetisk efter sortering af linjer, der begynder med tal.
  3. Linjer, der starter med små bogstaver, går forud for linjerne, der starter med det samme tegn i store bogstaver.

Overvej en tekstfil med navnet tekstfil.txt indeholdende følgende oplysninger:





Sådan sorteres filen ved hjælp af standardkonfiguration:

sort textfile.txt

Produktion:

Opret en ny outputfil

Sorteringskommandoen ændrer ikke filens indhold. Det sender simpelthen det sorterede indhold til standardoutput. Dette betyder dog ikke, at den slags ikke kan oprette en ny fil. Du kan bruge -eller flag for at angive navnet på den sorterede fil og sortering vil automatisk oprette filen for dig og tilføje indholdet.

hvordan man retter et højt cpu -forbrug
sort -o sortedfile filename

...hvor sorteret fil er navnet på outputfilen og filnavn er den originale fil, der skal sorteres.

At sortere tekstfil.txt og opret en ny outputfil til indholdet:

sort -o sorted.txt textfile.txt

Produktion:

Sorter flere filer

Hvis du vil sortere mere end én fil på én gang, skal du blot sende filnavnene adskilt med Plads Karakter.

sort textfile.txt textfile2.txt

Produktion:

Bemærk, at sortering vil flette output fra filerne og vise dem sammen i terminalen.

Omvendt Sorter en fil

Hvis du vil vende indholdet af indholdet, skal du bruge -r flag med standardkommandoen. Det -r i den følgende kommando står for Baglæns .

sort -r textfile.txt

Produktion:

Sorter en fil numerisk

For at sortere en fil, der indeholder numeriske data, skal du bruge -n flag med kommandoen. Som standard arrangerer sorteringen dataene i stigende rækkefølge.

sort -n numbers.txt

Produktion:

Hvis du vil sortere i faldende rækkefølge, skal du vende arrangementet vha -r mulighed sammen med -n flag i kommandoen.

sort -rn numbers.txt

Produktion:

Ignorer tegnetui under sortering

Som standard tager sort hensyn til indholdets tegnstilfælde. Linjer, der starter med små bogstaver, går forud for linjer, der starter med den store bogstavversion af det samme tegn. For eksempel vil 'han er en dreng' gå forud for 'Han er en dreng'.

Hvis du vil have sortering til at ignorere store og små bogstaver, skal du angive -f eller den --ignore-case flag som følger:

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

Produktion:

Sorter en fil baseret på måned

Bruger -M flag, kan du ændre rækkefølgen af ​​filens indhold baseret på månedsnavne.

sort -M textfile2.txt

Produktion:

Ignorer ledende emner

Nogle gange kan den fil, du vil sortere, indeholde mellemrum eller faner. For at ignorere sådanne tomme tegn skal du bruge -b flag.

sort -b fileblanks.txt

Produktion:

Sorter en fil efter en kolonne

Hvis du har en tekstfil med data arrangeret i separate kolonner, kan du sortere filen efter indholdet i en kolonne. Alt du skal gøre er at sende kolonnummeret sammen med -til flag.

Overvej en tekstfil, der indeholder filoplysninger med forskellige kolonner. For at sortere en fil med navnet output.txt ifølge ottende kolonne:

find min iphone ingen placering fundet
sort -k8 -rn output.txt

Produktion:

Rørsortering med andre kommandoer

Du kan endda bruge sortering med andre Linux -kommandoer til at ændre arrangementet af output. For eksempel at sortere output fra kommandoen ls i henhold til filernes størrelse:

ls -la | sort -k5 -rn

Produktion:

Sorter en fil tilfældigt

Du kan bruge -R flag, hvis du vil randomisere rækkefølgen af ​​linjerne i en tekstfil. Overvej filen tekstfil.txt :

sort -R textfile.txt

Produktion:

Sorter versionsnumre i en fil

Hvis du har en tekstfil med versionoplysninger tilknyttet en pakke, kan du sortere dens indhold ved hjælp af -V eller -version-sortering flag.

iphone 12 pro vs samsung s21
sort -V version.txt
sort --version-sort version.txt

Produktion:

Kontroller, om en fil er sorteret

Det -c flag hjælper dig med at identificere filer, der allerede er sorteret i henhold til de angivne muligheder. Hvis filens indhold er ordentligt sorteret, viser sorteringen ikke noget output.

For at kontrollere, om filen tekstfil.txt er sorteret:

sort -c textfile.txt

Lad os nu sortere filen og gemme dens output til en ny fil med navnet sorteret.txt . Ved udstedelse af følgende kommando:

sort -c sorted.txt

Produktion:

Du kan også angive forskellige flag for at kontrollere arrangementet af filen i henhold til særlige kriterier. For eksempel at kontrollere, om filen numre.txt er sorteret i faldende rækkefølge:

sort -c -rn numbers.txt

Du vil se en output, der angiver, at filen ikke er sorteret korrekt. Lad os sortere filen og kontrollere, om den nye fil består testen.

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

Produktion:

Sorter filen og fjern dubletter

Filen, du arbejder med, kan indeholde dublerede data. Selvom du kan bruge kommandoen uniq For at fjerne sådanne oplysninger fra filen kan sort udføre denne opgave for dig. Det -u eller --enestående flag er, hvad du har brug for.

Overvej en fil med navnet duplicate.txt :

Sådan sorterer du filen og fjerner de gentagne data:

sort -u duplicate.txt

Produktion:

Det kan du se, når du bruger -u flag, sortering viser kun forskellige linjer og arrangerer dem i henhold til de angivne kriterier.

Arbejde med tekstfiler i Linux

Selvom kommandolinjens tekstredigerere ikke kan matches, kan du stadig vælge en grafisk editor som gedit for let at ændre indholdet i en tekstfil. Det er også et bedre valg for dem, der er nye i Linux og ikke kan håndtere terminalen.

Den bedste måde at starte med kommandolinjen og Linux generelt er ved først at øve grundlæggende kommandoer. Efter at have dækket de grundlæggende hjælpeprogrammer, er gradvist at gå videre mod mere komplekse kommandoer sandsynligvis den bedste tilgang.

Del Del Tweet E -mail Linux Commands Reference Cheat Sheet

Dette enkle snydeblad hjælper dig med at blive fortrolig med Linux -kommandolinjeterminalen på ingen tid.

Læs Næste
Relaterede emner
  • Linux
  • Filhåndtering
  • Linux
  • Linux -kommandoer
Om forfatteren Deepesh Sharma(79 artikler udgivet)

Deepesh er Junior Editor for Linux på MUO. Han skriver informationsguider om Linux med det formål at give alle tilflyttere en salig oplevelse. Ikke sikker på film, men hvis du vil tale om teknologi, er han din fyr. I fritiden kan du finde ham læse bøger, lytte til forskellige musikgenrer eller spille sin guitar.

Mere fra Deepesh Sharma

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere