Skip to main content

Slik sorterer du data i en fil ved hjelp av Linux

How to Build a Dyson Sphere - The Ultimate Megastructure (April 2025)

How to Build a Dyson Sphere - The Ultimate Megastructure (April 2025)
Anonim

Introduksjon

I denne veiledningen vil jeg vise deg hvordan du sorterer data i avgrensede filer og fra utdata fra andre kommandoer.

Du vil ikke bli overrasket over at kommandoen du bruker til å utføre denne oppgaven, kalles "sorter". Alle de store bryterne av sorteringskommandoen vil bli gitt i denne artikkelen.

Eksempeldata

Dataene i en fil kan sorteres så lenge den er avgrenset på en eller annen måte.

For eksempel, la oss ta den siste ligatabellen fra den skotske Premier League i fjor og lagre dataene i en fil kalt "spl".

Du kan opprette en datafil som følger med en klubb og dataene for den klubben skilt av kommaer på hver rad.

TeamMål scoretMål motPoeng
Celtic933186
Aberdeen624871
hjerter594065
St Johnstone585556
Motherwell476350
Ross County556148
Inverness544852
Dundee535748
Partick415046
Hamilton426343
Kilmarnock416436
Dundee United457028

Slik sorterer du data i filer

Fra det bordet kan du se at Celtic vant ligaen og Dundee United kom sist. Hvis du er en Dundee United fan, vil du kanskje få det til å føle deg bedre, og du kan gjøre dette ved å sortere på mål som er scoret.

For å gjøre dette, kjør følgende kommando:

sorter-k2-t, spl

Denne gangen vil ordren være som følger:

  • Partick
  • Kilmarnock
  • Hamilton
  • Dundee United
  • Motherwell
  • Dundee
  • Inverness
  • Ross County
  • St Johnstone
  • hjerter
  • Aberdeen
  • Celtic

Grunnen til at resultatene er i denne rekkefølgen er at kolonne 2 er målene som er scoret, og sorten går fra lavest til høyest.

-K-bryteren lar deg velge kolonnen for å sortere etter, og -t-bryteren lar deg velge avgrenseren.

For å gjøre seg veldig glad kan Dundee United-fansen sortere etter kolonne 4 ved hjelp av følgende kommando:

sort-k4-t, spl

Nå er Dundee United topp og Celtic er på bunnen.

Selvfølgelig, dette ville gjøre både Celtic og Dundee fans veldig ulykkelige faktisk. For å sette ting riktig kan du sortere i omvendt rekkefølge ved å bruke følgende bryter:

sorter -k4 -t, -r spl

En ganske bisarre bryter lar deg sortere tilfeldig, som egentlig bare jumbles opp rader med data.

Du kan gjøre dette ved å bruke følgende kommando:

sorter -k4-t, -R spl

Dette kan forårsake reelle problemer hvis du blandet opp -r og din -R-bryteren.

Sorteringskommandoen kan også sortere datoer i månedsordre. For å demonstrere se på følgende tabell:

MånedData brukt
januar4G
februar3000K
mars6000K
april100M
Kan5000m
juni200K
juli4000K
august2500K
september3000K
oktober1000K
november3G
desember2G

Tabellen ovenfor representerer årets måned og mengden data som brukes på en mobil enhet.

Du kan sortere datoene alfabetisk ved å bruke følgende kommando:

sorter -k1 -t, datausedlist

Du kan også sortere etter måned ved å bruke følgende kommando:

sorter -k1 -t, -M datausedlist

Nå viser åpenbart at tabellen ovenfor allerede viser dem i måneders rekkefølge, men hvis listen var tilfeldig befolket, ville dette være en enkel måte å sortere dem på.

Når du ser på den andre kolonnen, kan du se at alle verdiene er i et menneskelig lesbart format som ikke ser ut som om det ville være lett å sortere, men sorteringskommandoen kan sortere den brukte kolonnen ved å bruke følgende kommando:

sorter -k2 -t, -h datausedlist

Slik sorterer data som passeres inn fra andre kommandoer

Mens sortering av data i filer er nyttig, kan sorteringskommandoen også brukes til å sortere utdata fra andre kommandoer:

Se for eksempel på kommandoen ls:

ls-lt

Kommandoen ovenfor returnerer hver fil som en rekke data med følgende felt som vises i kolonner:

  • tillatelser
  • knutepunkt
  • brukernavn
  • gruppenavn
  • størrelse
  • siste tilgangsdato
  • filnavn

Du kan sortere listen etter filstørrelse ved å kjøre følgende kommando:

ls -lt | sorter -k5

For å få resultatene i omvendt rekkefølge, vil du bruke følgende kommando:

ls -lt | sorter -k5 -r

Sorter kommandoen kan også brukes sammen med PS kommandoen som viser prosesser som kjører på systemet.

Kjør for eksempel følgende ps-kommando på systemet ditt:

ps -eF

Kommandoen ovenfor gir mye informasjon om prosessene som kjører på systemet ditt.

En av disse kolonnene er størrelsen, og du vil kanskje se hvilke prosesser som er størst.

For å sortere disse dataene etter størrelse, bruker du følgende kommando:

ps -eF | sorter -k5

Sammendrag

Det er ikke mye å sortere kommandoen, men det kan bli nyttig veldig raskt når du sorterer utdata fra andre kommandoer til en meningsfylt rekkefølge, spesielt når kommandoen ikke har egne sorteringsbrytere tilgjengelig.

For mer informasjon, les de manuelle sidene for sorteringskommandoen.