Linux giver dig flere hjælpeprogrammer, som du kan bruge til at behandle tekstfiler. Uanset om du vil fjerne duplikatdata eller sortere indholdet i en fil, har Linux-kommandolinjeværktøjer alt hvad du behøver.
Denne artikel viser sorteringskommandoen, og hvordan du kan bruge den til at sortere indholdet i en tekstfil og arrangere det i overensstemmelse hermed.
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 inkluderer ignorering af tegn, mens du sorterer, sorterer en fil efter måned, ignorerer blanke 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 ved brug af sortering er:
sorter filnavn
...hvor filnavn er den absolutte eller relative sti til den tekstfil, du vil sortere.
Som standard arrangerer sorteringen indholdet efter følgende kriterier:
- Linjer, der begynder med numeriske tegn, har højeste prioritet.
- Kommandoen sorterer linjerne alfabetisk efter at have sorteret linjerne, der begynder med tal.
- Linjer, der starter med små bogstaver, går forud for linjerne, der starter med det samme tegn i store bogstaver.
Overvej en tekstfil, der hedder textfile.txt indeholdende følgende oplysninger:
Sådan sorteres filen ved hjælp af standardkonfiguration:
sorter tekstfil.txt
Produktion:
Opret en ny outputfil
Sorteringskommandoen ændrer ikke indholdet af filen. Det sender simpelthen det sorterede indhold til standardoutputtet. Dette betyder dog ikke, at sort ikke kan oprette en ny fil. Du kan bruge -o flag for at specificere navnet på den sorterede fil, og sorteringen opretter automatisk filen for dig og tilføjer indholdet.
sorter -o sorteret filfilnavn
...hvor sorteret fil er navnet på outputfilen og filnavn er den originale fil, der skal sorteres.
At sortere textfile.txt og opret en ny outputfil til indholdet:
sorter -o sorteret.txt tekstfil.txt
Produktion:
Sorter flere filer
For at sortere mere end en fil på én gang skal du blot sende filnavne adskilt med Plads Karakter.
sorter tekstfile.txt textfile2.txt
Produktion:
Bemærk, at sortering vil flette output af filerne og vise dem sammen i terminalen.
Omvendt Sorter en fil
Hvis du vil vende indholdet af arrangementet, skal du bruge -r flag med standardkommandoen. Det -r i den følgende kommando står for Baglæns.
sorter -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.
sorter -n numbers.txt
Produktion:
Hvis du vil sortere i faldende rækkefølge, skal du vende arrangementet ved hjælp af -r mulighed sammen med -n flag i kommandoen.
sorter -rn numbers.txt
Produktion:
Ignorer tegnsag under sortering
Som standard tages der hensyn til karakteren af indholdet. 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 sortere for at ignorere tegn, skal du angive -f eller den - stor sag flag som følger:
sorter -f textfile.txt
sorter --ignore-case textfile.txt
Produktion:
Sorter en fil baseret på måned
Bruger -M flag, kan du ændre rækkefølgen af en fils indhold baseret på månedsnavne.
sorter -M textfile2.txt
Produktion:
Ignorer førende 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.
sorter -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 af en kolonne. Alt hvad du skal gøre er at sende kolonnenummeret sammen med -k flag.
Overvej en tekstfil, der indeholder filoplysninger med forskellige kolonner. At sortere en fil med navnet output.txt ifølge den ottende kolonne:
sorter -k8 -rn output.txt
Produktion:
Rørsortering med andre kommandoer
Du kan endda bruge sortering med andre Linux-kommandoer til at ændre arrangementets placering. For eksempel at sortere output fra kommandoen ls alt efter størrelsen på filerne:
ls -la | sorter -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 textfile.txt:
sorter -R textfile.txt
Produktion:
Sorter versionsnumre i en fil
Hvis du har en tekstfil, der indeholder versionoplysninger tilknyttet en pakke, kan du sortere dens indhold ved hjælp af -V eller --version-sort flag.
sorter -V version.txt
sorter --version-sorter 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 indholdet af filen er ordentligt sorteret, viser sorteringen ikke nogen output.
For at kontrollere, om filen textfile.txt er sorteret:
sorter -c textfile.txt
Lad os nu sortere filen og gemme dens output i en ny fil med navnet sorteret.txt. Ved udstedelse af følgende kommando:
sorter -c sorteret.txt
Produktion:
Du kan også angive forskellige flag for at kontrollere arrangementet af filen i henhold til bestemte kriterier. For eksempel for at kontrollere, om filen numbers.txt sorteres i faldende rækkefølge:
sorter -c -rn numbers.txt
Du vil se et output, der angiver, at filen ikke er sorteret korrekt. Lad os sortere filen og kontrollere, om den nye fil består testen.
sorter -o sorteret.txt -rn numre.txt
sorter -c -rn sorteret.txt
Produktion:
Sorter filen og fjern duplikater
Den fil, du arbejder med, kan indeholde duplikatdata. 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 duplikat.txt:
Sådan sorteres filen og fjernes de gentagne data:
sorter -u duplikat.txt
Produktion:
Du kan se det, når du bruger -u flag, sort viser kun forskellige linjer og arrangerer dem i henhold til de angivne kriterier.
Arbejde med tekstfiler i Linux
Selvom styrken i kommandolinjeteksteditorer ikke kan matches, kan du stadig vælge en grafisk editor som gedit til 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 at øve grundlæggende kommandoer først. Efter at have dækket de grundlæggende forsyningsselskaber er det sandsynligvis den bedste tilgang gradvist at gå videre mod mere komplekse kommandoer.
Dette enkle snydeark hjælper dig med at blive fortrolig med Linux-kommandolinieterminalen på ingen tid.
Læs Næste
- Linux
- Filhåndtering
- Linux
- Linux-kommandoer
Deepesh er Junior Editor til Linux på MUO. Han har skrevet informativt indhold på internettet i over 3 år. I sin fritid nyder han at skrive, lytte til musik og spille sin guitar.
Abonner på vores nyhedsbrev
Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!
Et trin mere !!!
Bekræft venligst din e-mail-adresse i den e-mail, vi lige har sendt dig.