Linux gir deg flere verktøy som du kan bruke til å behandle tekstfiler. Enten du vil fjerne dupliserte data eller sortere innholdet i en fil, har Linux-kommandolinjeverktøy alt du trenger.

Denne artikkelen vil vise sorteringskommandoen og hvordan du kan bruke den til å sortere innholdet i en tekstfil og ordne det deretter.

Hva er sorteringskommandoen?

Som nevnt ovenfor hjelper sorteringskommandoen en bruker med å ordne innholdet i en tekstfil i en bestemt rekkefølge. Flere alternativer er tilgjengelige som lar deg sortere filen etter ditt ønske. Det er et standard Linux-program som kan sortere en tekstfil alfabetisk, numerisk, etter kolonne og mer, i normal eller omvendt rekkefølge.

Andre funksjoner i kommandoen inkluderer å ignorere tegnsaker mens du sorterer, sortere en fil etter måned, ignorere blanke i en fil og tilfeldig sortering. Ved hjelp av sortering kan du også sjekke om en fil allerede er sortert eller ikke.

Slik bruker du sortering i Linux

Selv om sort inneholder flere metoder og flagg du kan bruke, er det fortsatt lett å lære.

instagram viewer

Grunnleggende syntaks

Den grunnleggende syntaksen for å bruke sortering er:

sorter filnavn

...hvor filnavn er den absolutte eller relative banen til tekstfilen du vil sortere.

Som standard vil sortering ordne innholdet i henhold til følgende kriterier:

  1. Linjer som begynner med numeriske tegn har høyest prioritet.
  2. Kommandoen vil sortere linjene alfabetisk etter å ha sortert linjene som begynner med tall.
  3. Linjer som begynner med små bokstaver, går foran linjene som begynner med samme tegn i store bokstaver.

Tenk på en tekstfil som heter textfile.txt som inneholder følgende informasjon:

Slik sorterer du filen ved hjelp av standardkonfigurasjon:

sorter tekstfile.txt

Produksjon:

Opprett en ny utdatafil

Sorteringskommandoen endrer ikke innholdet i filen. Det sender ganske enkelt det sorterte innholdet til standardutgangen. Dette betyr imidlertid ikke at sort ikke kan opprette en ny fil. Du kan bruke -o flagg for å spesifisere navnet på den sorterte filen, og sorteringen vil automatisk opprette filen for deg og legge til innholdet.

sorter -o sortert filnavn

...hvor sortert fil er navnet på utdatafilen og filnavn er den originale filen som trenger sortering.

Å sortere textfile.txt og opprett en ny utdatafil for innholdet:

sorter -o sortert.txt tekstfil.txt

Produksjon:

Sorter flere filer

For å sortere mer enn én fil på en gang, passerer du bare filnavnene atskilt med Rom karakter.

sorter textfile.txt textfile2.txt

Produksjon:

Merk at sortering vil slå sammen utdataene til filene og vise dem sammen i terminalen.

Omvendt Sorter en fil

Hvis du vil reversere innholdet, bruk -r flagg med standardkommandoen. De -r i følgende kommando står for Omvendt.

sorter -r textfile.txt

Produksjon:

Sorter en fil numerisk

For å sortere en fil som inneholder numeriske data, bruk -n flagg med kommandoen. Som standard vil sortering ordne dataene i stigende rekkefølge.

sorter -n numbers.txt

Produksjon:

Hvis du vil sortere i synkende rekkefølge, snu ordningen med -r alternativet sammen med -n flagg i kommandoen.

sorter -rn numbers.txt

Produksjon:

Ignorer tegnsakst mens du sorterer

Som standard tar sorteringen hensyn til karakteren av innholdet. Linjer som begynner med små bokstaver, går foran linjer som begynner med store versjoner av samme tegn. For eksempel vil "han er en gutt" gå foran "Han er en gutt".

Hvis du vil sortere for å ignorere tegnsettet, spesifiser du -f eller - stor sak flagg som følger:

sorter -f textfile.txt
sorter --ignore-case textfile.txt

Produksjon:

Sorter en fil basert på måned

Bruker -M flagg, kan du endre rekkefølgen på filens innhold basert på månedsnavn.

sorter -M textfile2.txt

Produksjon:

Ignorer ledende emner

Noen ganger kan filen du vil sortere, inneholde mellomrom eller faner. For å ignorere slike blanke tegn, bruk -b flagg.

sorter -b fileblanks.txt

Produksjon:

Sorter en fil etter en kolonne

Hvis du har en tekstfil med data ordnet i separate kolonner, kan du sortere filen etter innholdet i en kolonne. Alt du trenger å gjøre er å sende kolonnenummeret sammen med -k flagg.

Tenk på en tekstfil som inneholder filinformasjon med forskjellige kolonner. For å sortere en fil som heter output.txt i henhold til den åttende kolonnen:

sorter -k8 -rn output.txt

Produksjon:

Rørsortering med andre kommandoer

Du kan til og med bruke sortering med andre Linux-kommandoer for å endre ordningen for utdataene. For eksempel å sortere utdataene fra kommandoen ls avhengig av størrelsen på filene:

ls -la | sorter -k5 -rn

Produksjon:

Sorter en fil tilfeldig

Du kan bruke -R flagg hvis du vil randomisere rekkefølgen på linjene i en tekstfil. Tenk på filen textfile.txt:

sorter -R textfile.txt

Produksjon:

Sorter versjonsnumre i en fil

Hvis du har en tekstfil som inneholder versjonsinformasjon tilknyttet en pakke, kan du sortere innholdet ved hjelp av -V eller --versjon-sortering flagg.

sorter -V versjon.txt
sorter - versjon-sorter versjon.txt

Produksjon:

Sjekk om en fil er sortert

De -c flagg vil hjelpe deg med å identifisere filer som allerede er sortert i henhold til de angitte alternativene. Hvis innholdet i filen er riktig sortert, vil ikke sortere vise noen utdata.

For å sjekke om filen textfile.txt er sortert:

sorter -c textfile.txt

La oss nå sortere filen og lagre utdataene i en ny fil som heter sorted.txt. Ved utstedelse av følgende kommando:

sorter -c sortert.txt

Produksjon:

Du kan også spesifisere forskjellige flagg for å sjekke ordningen av filen i henhold til bestemte kriterier. For eksempel for å sjekke om filen numbers.txt er sortert i synkende rekkefølge:

sorter -c -rn numbers.txt

Du vil se en utskrift som sier at filen ikke er sortert riktig. La oss sortere filen og sjekke om den nye filen består testen.

sorter -o sortert.txt -rn tall.txt
sorter -c -rn sortert.txt

Produksjon:

Sorter filen og fjern duplikater

Filen du jobber med kan inneholde dupliserte data. Selv om du kan bruke uniq-kommandoen for å fjerne slik informasjon fra filen, kan sort utføre denne oppgaven for deg. De -u eller --unik flagg er det du trenger.

Tenk på en fil som heter duplikat.txt:

Slik sorterer du filen og fjerner gjentatte data:

sorter -u duplikat.txt

Produksjon:

Du kan se det når du bruker -u flagg, viser sortering bare forskjellige linjer og ordner dem i henhold til kriteriene som er spesifisert.

Arbeide med tekstfiler i Linux

Selv om kraften til kommandolinjeditorer ikke kan matches, kan du likevel velge en grafisk redaktør som gedit for enkelt å endre innholdet i en tekstfil. Det er også et bedre valg for de som er nye i Linux og ikke kan håndtere terminalen.

Den beste måten å starte med kommandolinjen, og Linux generelt, er å øve på grunnleggende kommandoer først. Etter å ha dekket de grunnleggende verktøyene, er det sannsynligvis den beste tilnærmingen å gå gradvis mot mer komplekse kommandoer.

E-post
Linux Commands Reference Cheat Sheet

Dette enkle juksearket vil hjelpe deg med å bli komfortabel med Linux-kommandolinjeterminalen på kort tid.

Les Neste

Relaterte temaer
  • Linux
  • Filbehandling
  • Linux
  • Linux-kommandoer
Om forfatteren
Deepesh Sharma (69 artikler publisert)

Deepesh er Junior Editor for Linux på MUO. Han har skrevet informasjonsinnhold på internett i over 3 år. På fritiden liker han å skrive, høre på musikk og spille gitar.

Mer fra Deepesh Sharma

Abonner på vårt nyhetsbrev

Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Ett steg til…!

Bekreft e-postadressen din i e-posten vi nettopp sendte deg.

.