logo

Hvordan sortere linjer i tekstfiler i Linux | sorter kommando

SORT-kommandoen brukes til å sortere en fil, ordne postene i en bestemt rekkefølge. Som standard sorterer sorteringskommandoen filen forutsatt at innholdet er ASCII. Å bruke alternativer i sorteringskommandoen kan også brukes til å sortere numerisk.

  • SORT-kommandoen sorterer innholdet i en tekstfil, linje for linje.
  • sort er et standard kommandolinjeprogram som skriver ut linjene med inndata eller sammenkobling av alle filene som er oppført i argumentlisten i sortert rekkefølge.
  • Sorteringskommandoen er et kommandolinjeverktøy for å sortere linjer med tekstfiler. Den støtter sortering alfabetisk, i omvendt rekkefølge, etter nummer, etter måned, og kan også fjerne duplikater.
  • Sorteringskommandoen kan også sortere etter elementer som ikke er på begynnelsen av linjen, ignorere store og små bokstaver og returnere om en fil er sortert eller ikke. Sortering gjøres basert på en eller flere sorteringsnøkler hentet fra hver inndatalinje.
  • Som standard tas hele inndata som sorteringsnøkkel. Tomt mellomrom er standard feltseparator.

Sorteringskommandoen følger disse funksjonene som angitt nedenfor:



  1. Linjer som begynner med et tall vil vises før linjer som begynner med en bokstav.
  2. Linjer som begynner med en bokstav som vises tidligere i alfabetet, vil vises før linjer som begynner med en bokstav som vises senere i alfabetet.
  3. Linjer som begynner med en stor bokstav vil vises før linjer som begynner med samme bokstav med liten bokstav.

Innholdsfortegnelse

Syntaks av typen Kommando i Linux

Her,

' alternativer ' refererer til de forskjellige flaggene og parameterne som kan brukes til å tilpasse sorteringsatferden, og 'fil' er navnet på filen som skal sorteres.



Hvis ingen fil er spesifisert, ' sortere ' leser fra standardinngangen.

Tilgjengelige alternativer i Sorter kommando

Alternativer

Beskrivelse



-O

Angir en utdatafil for de sorterte dataene. Tilsvarer funksjonelt å omdirigere utdata til en fil.

-r

Sorterer data i omvendt rekkefølge (synkende).

-n

Sorterer en fil numerisk (tolker data som tall).

kjører skript i linux

-Nei

Sorterer en fil med numeriske data i omvendt rekkefølge. Kombinerer -n og -r alternativer.

fizzbuzz java

-k

Sorterer en tabell basert på et spesifikt kolonnenummer.

-c

Sjekker om filen allerede er sortert og rapporterer eventuelle forstyrrelser.

-i

Sorterer og fjerner dupliserte linjer, og gir en unik sortert liste.

-M

Sorterer etter månedsnavn.

Hvordan sortere linjer i tekstfiler i Linux ved å bruke sorteringskommando

La oss starte med et enkelt eksempel. Vurder en fil med navnet 'file.txt' med følgende innhold:

cat file.txt>
Viser innholdet i filen ved hjelp av cat-kommandoen

Viser innholdet i filen ved hjelp av cat-kommandoen

Her brukte vi cat-kommando for å vise innholdet i filnavnet 'file.txt'.

For å sortere linjene alfabetisk, kan du bruke følgende kommando:

sort file.txt>
sorter linjer i tekst ved hjelp av sorteringskommandoen

sorter linjer i tekst ved hjelp av sorteringskommandoen

Merk: Denne kommandoen endrer faktisk ikke inndatafilen, dvs. file.txt . Vi kan verifisere dette ved å bruke katt kommando .

ingen endring er gjort til ekte fil

ingen endring gjøres til ekte fil

Hvordan sortere linjer i tekstfiler med store og små bokstaver ved hjelp av sorteringskommando

Sorter funksjon med blandingsfil, dvs. store og små bokstaver: Når vi har en blandingsfil med både store og små bokstaver, vil først de store bokstavene sorteres etter små bokstaver.

Eksempel: Hvis vi har en tekstfil som har både store og små bokstaver.

cat mix.txt>
Viser innholdet i filen ved hjelp av cat-kommandoen

Viser innholdet i filen ved hjelp av cat-kommandoen

Her brukte vi cat-kommando for å vise innholdet i filnavnet 'mix.txt'.

For å sortere linjene alfabetisk som inneholder store og små bokstaver, kan du bruke følgende kommando:

sort mix.txt>
sorter store og små bokstaver i tekst ved hjelp av sorteringskommandoen

sorter store og små bokstaver i tekst ved hjelp av sorteringskommandoen

Hvordan gjøre numerisk sortering i linjer i tekstfiler ved å bruke sorteringskommandoen

Som standard behandler 'sort' tall som tekst og sorterer dem deretter. Hvis du vil utføre numerisk sortering, bruk '-n'-alternativet:

cat file1.txt>
Viser innholdet i filen ved hjelp av cat-kommandoen

Viser innholdet i filen ved hjelp av cat-kommandoen

Her brukte vi cat-kommando for å vise innholdet i filnavnet 'file1.txt'.

regex i java

Nå vil vi sortere de numeriske dataene ved å bruke sorteringskommandoen som følger.

sort file1.txt>
sortering av numeriske data i linux-fil

sortering av numeriske data i linux-fil

Hvordan sortere linjer i omvendt rekkefølge i Linux-fil ved hjelp av sorteringskommando

For å sortere i omvendt rekkefølge kan du bruke '-r'-alternativet:

Eksempel : Hvis vi ønsker å sortere linjer i omvendt rekkefølge i Linux-fil, kan vi bruke sorteringskommando med -r-alternativet, anta at vi har et filnavn example.txt som vist nedenfor.

cat example.txt>
bruke cat-kommando for å vise innhold i filen

bruke cat-kommando for å vise innhold i filen

Sorter nå linjer i omvendt rekkefølge med ` -r` alternativ i sorteringskommandoen

sort -r example.txt>
sortering av linjer i omvendt rekkefølge ved å bruke -r med sorteringskommando

sortering av linjer i omvendt rekkefølge ved å bruke -r med sorteringskommando

Hvordan sortere spesifikke filer i Linux-filer ved å bruke sorteringskommando

Tenk deg at du har en fil som heter 'employee_data.txt' som inneholder informasjon om ansatte i et fanedelt format. Hver linje representerer en post med detaljer som ansatt-ID, navn, avdeling og lønn, atskilt med faner. Du ønsker å organisere disse dataene basert på avdelingen og vise resultatene i alfabetisk rekkefølge.

For eksempel : Hvis filnavnet vårt er ansatt_data.txt og innholdet i det er som følger.

cat employee_data.txt>
Viser innholdet i filen ved hjelp av cat-kommandoen

Viser innholdet i filen ved hjelp av cat-kommandoen

statisk java

For å oppnå dette kan du bruke 'sort'-kommandoen

sort -k3 employee_data.txt>

Forklaring:

-k3 : Dette alternativet indikerer at sorteringen skal gjøres basert på tredje kolonne (avdeling).

sortering av en bestemt kolonne ved hjelp av sorteringskommandoen

sortering av en bestemt kolonne ved hjelp av sorteringskommandoen

I dette eksemplet er ansattpostene nå sortert alfabetisk basert på 'Avdeling'-kolonnen. 'Sorter'-kommandoen, med det tilpassede skilletegnet, lar deg effektivt organisere og analysere tabulatordelte data, noe som gjør det til et verdifullt verktøy for å administrere strukturert informasjon i ulike scenarier.

Applikasjon og bruk av sorteringskommando:

  1. Den kan sortere alle typer filer, enten det er tabellfil tekstfil numerisk fil og så videre.
  2. Sortering kan implementeres direkte fra en fil til en annen uten at det nåværende arbeidet blir hemmet.
  3. Sortering av tabellfiler på grunnlag av kolonner er gjort mye enklere og enklere.
  4. Så mange alternativer er tilgjengelige for sortering på alle mulige måter.
  5. Den mest fordelaktige bruken er at en bestemt datafil kan brukes mange ganger siden det ikke gjøres noen endring i inndatafilen.
  6. Originaldata er alltid trygge og ikke hindret.

Ofte stilte spørsmål om sorteringskommando

Kan 'sort'-kommandoen brukes til å sortere filer i synkende rekkefølge som standard?

Nei, 'sort'-kommandoen sorterer filer i stigende rekkefølge som standard. For å oppnå synkende rekkefølge, bør '-r'-alternativet brukes.

Hvordan kan jeg sortere en fil basert på en bestemt kolonne ved å bruke 'sort'-kommandoen?

Bruk '-k'-alternativet etterfulgt av kolonnenummeret for å sortere en fil basert på en bestemt kolonne.

For eksempel,

sort -k 2 data.txt>

Dette vil sortere basert på den andre kolonnen.

Hva er forskjellen mellom å bruke '-o'-alternativet og omdirigere utdata til en fil når du bruker 'sort'-kommandoen?

Begge metodene oppnår det samme resultatet ved å lagre den sorterte utdata til en fil. Alternativet '-o' lar deg spesifisere utdatafilen direkte i kommandoen, mens omdirigering (f.eks. ` sort file.txt>output.txt`> ) oppnår samme resultat.

Hvordan kan jeg sjekke om en fil allerede er sortert ved å bruke 'sort'-kommandoen?

Bruk '-c'-alternativet med 'sort'-kommandoen (f.eks. sort -c file.txt> ). Hvis filen allerede er sortert, blir det ingen utdata. Hvis det er uryddige linjer, vil de bli meldt.

Er det mulig å sortere en fil med numeriske data i omvendt rekkefølge ved å bruke 'sort'-kommandoen?

Ja, alternativet '-n' sorterer filer med numeriske data, og alternativet '-r' kan kombineres med det (f.eks. sort -nr numbers.txt> ) for å oppnå en omvendt numerisk sortering.

Konklusjon

I denne artikkelen diskuterte vi 'sort'-kommandoen i Linux, som er et kraftig verktøy for å ordne tekstfiler i forskjellige rekkefølger. Den støtter alfabetisk, numerisk og omvendt sortering, sammen med alternativer for sortering av spesifikke kolonner og fjerning av duplikater. Kommandoen er allsidig og håndterer forskjellige filtyper, inkludert tabeller og numeriske data. Artikkelen gir en omfattende oversikt over 'sort'-kommandoen, og dekker syntaks, alternativer og praktiske eksempler. Vanlige spørsmål (FAQs) tar for seg vanlige spørsmål, noe som gjør det til en verdifull ressurs for effektiv dataorganisering og analyse på Linux-kommandolinjen.