Slik sorterer du tekstfiler i Linux ved hjelp av sorteringskommandoen

Slik sorterer du tekstfiler i Linux ved hjelp av sorteringskommandoen

Linux gir deg flere verktøy 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 den 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 enten normal eller omvendt rekkefølge.





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

Slik bruker du sortering i Linux

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



Grunnleggende syntaks

Den grunnleggende syntaksen for bruk av sortering er:

sort filename

...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øyeste 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.

Vurder en tekstfil som heter tekstfil.txt som inneholder følgende informasjon:





Slik sorterer du filen ved hjelp av standardkonfigurasjon:

sort textfile.txt

Produksjon:

Lag en ny utdatafil

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

hva skal jeg gjøre hvis telefonen blir hacket
sort -o sortedfile filename

...hvor sortert fil er navnet på utdatafilen og filnavn er den originale filen som må sorteres.

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

sort -o sorted.txt textfile.txt

Produksjon:

Sorter flere filer

For å sortere mer enn én fil samtidig, sender du bare filnavnene atskilt med Rom karakter.

sort textfile.txt textfile2.txt

Produksjon:

Vær oppmerksom på at sorteringen vil slå sammen utdataene til filene og vise dem sammen i terminalen.

Omvendt Sorter en fil

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

sort -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.

sort -n numbers.txt

Produksjon:

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

sort -rn numbers.txt

Produksjon:

Ignorer tegnbokstav under sortering

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

Hvis du vil at sortering skal ignorere store og små bokstaver, angir du -f eller --ignore-case flagg som følger:

sort -f textfile.txt
sort --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.

sort -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.

sort -b fileblanks.txt

Produksjon:

Sorter en fil i henhold til 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 -til flagg.

Vurder en tekstfil som inneholder filinformasjon med forskjellige kolonner. For å sortere en fil som heter output.txt ifølge den åttende kolonnen:

alexa har problemer med å forstå akkurat nå
sort -k8 -rn output.txt

Produksjon:

Rørsortering med andre kommandoer

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

ls -la | sort -k5 -rn

Produksjon:

Sorter en fil tilfeldig

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

sort -R textfile.txt

Produksjon:

Sorter versjonsnumre i en fil

Hvis du har en tekstfil som inneholder versjonsinformasjon knyttet til en pakke, kan du sortere innholdet ved hjelp av -V eller -versjonssortering flagg.

beste måten å kjøpe en iphone
sort -V version.txt
sort --version-sort version.txt

Produksjon:

Sjekk om en fil er sortert

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

For å sjekke om filen tekstfil.txt er sortert:

sort -c textfile.txt

La oss nå sortere filen og lagre utgangen til en ny fil med navnet sorted.txt . Ved utstedelse av følgende kommando:

sort -c sorted.txt

Produksjon:

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

sort -c -rn numbers.txt

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

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

Produksjon:

Sorter filen og fjern duplikater

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

Vurder en fil som heter duplicate.txt :

Slik sorterer du filen og fjerner gjentatte data:

sort -u duplicate.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 angitt.

Arbeide med tekstfiler i Linux

Selv om kraften til tekstredigerere på kommandolinjen er uovertruffen, kan du fortsatt velge en grafisk editor 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 ved å øve på grunnleggende kommandoer først. Etter å ha dekket de grunnleggende verktøyene, er det sannsynligvis den beste tilnærmingen å gradvis gå videre mot mer komplekse kommandoer.

Dele Dele kvitring E -post Linux Commands Reference Cheat Sheet

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

Les neste
Relaterte temaer
  • Linux
  • Filbehandling
  • Linux
  • Linux -kommandoer
Om forfatteren Deepesh Sharma(79 artikler publisert)

Deepesh er Junior Editor for Linux ved MUO. Han skriver informasjonsguider på Linux, med sikte på å gi alle nykommere en lykksalig opplevelse. Usikker på filmer, men hvis du vil snakke om teknologi, er han din fyr. På fritiden kan du finne ham lese bøker, lytte til forskjellige musikksjangre eller spille gitar.

Mer fra Deepesh Sharma

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere