Linux ger dig flera verktyg som du kan använda för att bearbeta textfiler. Oavsett om du vill ta bort dubbletter eller sortera innehållet i en fil, har Linux-kommandoradsverktyg allt du behöver.
Den här artikeln visar sorteringskommandot och hur du kan använda det för att sortera innehållet i en textfil och ordna det därefter.
Vad är sorteringskommandot?
Som nämnts ovan hjälper sorteringskommandot en användare att ordna innehållet i en textfil i en viss ordning. Det finns flera alternativ som gör att du kan sortera filen efter dina önskemål. Det är ett standard Linux-program som kan sortera en textfil alfabetiskt, numeriskt, efter kolumn och mer, antingen i normal eller omvänd ordning.
Andra funktioner i kommandot inkluderar att ignorera teckenfall under sortering, sortera en fil efter månad, ignorera tomma i en fil och slumpmässig sortering. Med hjälp av sortering kan du också kontrollera om en fil redan är sorterad eller inte.
Hur man använder sortering i Linux
Även om sorteringen innehåller flera metoder och flaggor som du kan använda är det fortfarande lätt att lära sig.
Grundläggande syntax
Den grundläggande syntaxen för att använda sort är:
sortera filnamn
...var filnamn är den absoluta eller relativa sökvägen för textfilen som du vill sortera.
Som standard ordnar sorteringen innehållet enligt följande kriterier:
- Linjer som börjar med numeriska tecken har högsta prioritet.
- Kommandot sorterar raderna alfabetiskt efter att ha sorterat raderna som börjar med siffror.
- Linjer som börjar med små bokstäver föregår raderna som börjar med samma tecken i versaler.
Tänk på en textfil som heter textfile.txt som innehåller följande information:
För att sortera filen med standardkonfiguration:
sortera textfile.txt
Produktion:
Skapa en ny utdatafil
Sorteringskommandot ändrar inte filens innehåll. Det skickar helt enkelt det sorterade innehållet till standardutmatningen. Men detta betyder inte den sortens inte kan skapa en ny fil. Du kan använda -o flagga för att ange namnet på den sorterade filen och sortera skapar automatiskt filen åt dig och lägger till innehållet.
sortera -o sorterat filfilnamn
...var sorterad fil är namnet på utdatafilen och filnamn är den ursprungliga filen som behöver sorteras.
Att sortera textfile.txt och skapa en ny utdatafil för innehållet:
sortera -o sorterat.txt textfil.txt
Produktion:
Sortera flera filer
Om du vill sortera mer än en fil samtidigt, skickar du bara filnamnen separerade med Plats karaktär.
sortera textfile.txt textfile2.txt
Produktion:
Observera att sortering slår samman filernas utdata och visar dem tillsammans i terminalen.
Omvänd Sortera en fil
Om du vill ändra ordningen på innehållet använder du -r flagga med standardkommandot. De -r i följande kommando står för Omvänd.
sortera -r textfil.txt
Produktion:
Sortera en fil numeriskt
För att sortera en fil som innehåller numeriska data, använd -n flagga med kommandot. Som standard ordnar sorteringen data i stigande ordning.
sortera -n numbers.txt
Produktion:
Om du vill sortera i fallande ordning, vänd ordningen med hjälp av -r alternativet tillsammans med -n flagga i kommandot.
sortera -rn numbers.txt
Produktion:
Ignorera teckenfall vid sortering
Som standard tar sorteringen hänsyn till innehållet i teckenfallet. Rader som börjar med små bokstäver föregår rader som börjar med versaler av samma tecken. Till exempel kommer "han är en pojke" före "Han är en pojke".
Om du vill sortera för att ignorera teckenfallet, ange -f eller den --ignorera fall flagga enligt följande:
sortera -f textfil.txt
sortera --ignore-case textfile.txt
Produktion:
Sortera en fil baserat på månad
Använda -M flagga kan du ändra ordningen på filens innehåll baserat på månadsnamn.
sortera -M textfil2.txt
Produktion:
Ignorera ledande ämnen
Ibland kan filen som du vill sortera innehålla mellanslag eller flikar. För att ignorera sådana tomma tecken, använd -b flagga.
sortera -b fileblanks.txt
Produktion:
Sortera en fil enligt en kolumn
Om du har en textfil med data ordnade i separata kolumner kan du sortera filen efter innehållet i en kolumn. Allt du behöver göra är att skicka kolumnnumret tillsammans med -k flagga.
Tänk på en textfil som innehåller filinformation med olika kolumner. För att sortera en fil med namnet output.txt enligt åttonde kolumnen:
sortera -k8 -rn output.txt
Produktion:
Rörsortering med andra kommandon
Du kan även använda sortera med andra Linux-kommandon för att ändra arrangemanget för utdata. Till exempel att sortera utdata från kommandot ls beroende på filernas storlek:
ls -la | sortera -k5 -rn
Produktion:
Sortera en fil slumpmässigt
Du kan använda -R flagga om du vill randomisera ordningen på raderna i en textfil. Tänk på filen textfile.txt:
sortera -R textfil.txt
Produktion:
Sortera versionsnummer i en fil
Om du har en textfil som innehåller versionsinformation kopplad till ett paket kan du sortera dess innehåll med hjälp av -V eller --version-sort flagga.
sortera -V version.txt
sortera --version-sortera version.txt
Produktion:
Kontrollera om en fil är sorterad
De -c flagg hjälper dig att identifiera filer som redan är sorterade enligt de angivna alternativen. Om innehållet i filen är ordentligt sorterad, kommer sorteringen inte att visa någon utdata.
För att kontrollera om filen textfile.txt sorteras:
sortera -c textfil.txt
Låt oss nu sortera filen och spara dess utdata till en ny fil med namnet sorted.txt. Vid utfärdande av följande kommando:
sortera -c sorterad.txt
Produktion:
Du kan också ange olika flaggor för att kontrollera arrangemanget av filen enligt särskilda kriterier. Till exempel för att kontrollera om filen numbers.txt sorteras i fallande ordning:
sortera -c -rn siffror.txt
Du ser en utdata som anger att filen inte sorteras ordentligt. Låt oss sortera filen och kontrollera om den nya filen klarar testet.
sortera -o sorterad.txt -rn siffror.txt
sortera -c -rn sorterad.txt
Produktion:
Sortera filen och ta bort dubbletter
Filen som du arbetar med kan innehålla dubblettdata. Även om du kan använda kommandot uniq för att ta bort sådan information från filen kan sort utföra den här uppgiften åt dig. De -u eller --unik flagga är vad du behöver.
Tänk på en fil med namnet duplicera.txt:
För att sortera filen och ta bort upprepade data:
sortera -u duplicera.txt
Produktion:
Du kan se det när du använder -u flagga, sorterar visar bara distinkta rader och ordnar dem enligt de angivna kriterierna.
Arbeta med textfiler i Linux
Även om kraften hos kommandoradstextredigerare inte kan matchas kan du ändå välja en grafisk redigerare som gedit för att enkelt ändra innehållet i en textfil. Det är också ett bättre val för dem som är nya på Linux och inte kan hantera terminalen.
Det bästa sättet att börja med kommandoraden och Linux i allmänhet är att först öva på grundläggande kommandon. Efter att ha täckt de grundläggande verktygen är det förmodligen det bästa tillvägagångssättet att avancera mot mer komplexa kommandon.
Detta enkla fuskark hjälper dig att bli bekväm med Linux-kommandoradsterminalen på nolltid.
Läs Nästa
- Linux
- Filhantering
- Linux
- Linux-kommandon

Deepesh är Junior Editor för Linux på MUO. Han har skrivit informationsinnehåll på internet i över 3 år. På fritiden tycker han om att skriva, lyssna på musik och spela sin gitarr.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Ett steg till…!
Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.