Så här sorterar du textfiler i Linux med hjälp av sorteringskommandot

Så här sorterar du textfiler i Linux med hjälp av sorteringskommandot

Linux ger dig flera verktyg som du kan använda för att bearbeta textfiler. Oavsett om du vill ta bort dubblettdata eller sortera innehållet i en fil, har Linux-kommandoradsverktyg allt du behöver.





Den här artikeln kommer att visa 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 i antingen normal eller omvänd ordning.





Andra funktioner i kommandot inkluderar att ignorera teckenfall under sortering, sortera en fil efter månad, ignorera ämnen 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 sort i Linux

Även om sortering 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:

sort filename

...var filnamn är den absoluta eller relativa sökvägen till textfilen som du vill sortera.





Som standard ordnar sorteringen innehållet enligt följande kriterier:

  1. Rader som börjar med numeriska tecken har högsta prioritet.
  2. Kommandot sorterar raderna alfabetiskt efter att ha sorterat raderna som börjar med siffror.
  3. Rader som börjar med små bokstäver före raderna som börjar med samma tecken i versaler.

Tänk på en textfil som heter textfil.txt som innehåller följande information:





Så här sorterar du filen med standardkonfiguration:

sort textfile.txt

Produktion:

Skapa en ny utdatafil

Sorteringskommandot ändrar inte innehållet i filen. Det skickar helt enkelt det sorterade innehållet till standardutmatningen. Det betyder dock inte att den typen inte kan skapa en ny fil. Du kan använda -eller flagga för att ange namnet på den sorterade filen och sorteringen skapar filen automatiskt åt dig och lägger till innehållet.

var kan jag se gratis filmer utan registrering
sort -o sortedfile filename

...var sorterad fil är namnet på utdatafilen och filnamn är den ursprungliga filen som behöver sorteras.

Att sortera textfil.txt och skapa en ny utdatafil för innehållet:

sort -o sorted.txt textfile.txt

Produktion:

Sortera flera filer

För att sortera mer än en fil på en gång, skicka bara filnamnen åtskilda med Plats karaktär.

sort textfile.txt textfile2.txt

Produktion:

Observera att sortering kommer att slå samman utdata från filerna och visa dem tillsammans i terminalen.

Omvänd sortera en fil

Om du vill ändra innehållet i innehållet använder du -r flagga med standardkommandot. De -r i följande kommando står för Omvänd .

sort -r textfile.txt

Produktion:

Sortera en fil numeriskt

Om du vill sortera en fil som innehåller numerisk data använder du -n flagga med kommandot. Som standard ordnar sorteringen data i stigande ordning.

sort -n numbers.txt

Produktion:

Om du vill sortera i fallande ordning, gör om ordningen med hjälp av -r alternativet tillsammans med -n flagga i kommandot.

sort -rn numbers.txt

Produktion:

Ignorera teckenfodral under sorteringen

Som standard tar sorteringen hänsyn till innehållets teckenstorlek. Rader som börjar med små bokstäver föregår rader som börjar med versal av samma tecken. Till exempel kommer 'han är en pojke' före 'Han är en pojke'.

Om du vill att sorteringen ska ignorera bokstäverna anger du -f eller den --ignorera fall flagga enligt följande:

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

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

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

Tänk på en textfil som innehåller filinformation med olika kolumner. För att sortera en fil med namnet output.txt enligt den åttonde kolumnen:

bästa stället att köpa elektronik på nätet
sort -k8 -rn output.txt

Produktion:

Rör sortera med andra kommandon

Du kan till och med använda sortera med andra Linux -kommandon för att ändra arrangemanget av utdata. Till exempel för att sortera utdata från kommandot ls beroende på filernas storlek:

ls -la | sort -k5 -rn

Produktion:

Sortera en fil slumpmässigt

Du kan använda -R flagga om du vill slumpmässigt ordna raderna i en textfil. Tänk på filen textfil.txt :

sort -R textfile.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 -V eller --versionssort flagga.

visa telefonskärm på pc via usb
sort -V version.txt
sort --version-sort version.txt

Produktion:

Kontrollera om en fil är sorterad

De -c flag hjälper dig att identifiera filer som redan är sorterade enligt de angivna alternativen. Om innehållet i filen är ordentligt sorterat kommer ingen utdata att visas.

För att kontrollera om filen textfil.txt är sorterat:

sort -c textfile.txt

Låt oss nu sortera filen och spara dess utdata till en ny fil med namnet sorterad.txt . Vid utfärdande av följande kommando:

sort -c sorted.txt

Produktion:

Du kan också ange olika flaggor för att kontrollera ordningen av filen enligt särskilda kriterier. Till exempel för att kontrollera om filen numbers.txt sorteras i fallande ordning:

sort -c -rn numbers.txt

Du kommer att se en utdata som anger att filen inte är ordentligt sorterad. Låt oss sortera filen och kontrollera om den nya filen klarar testet.

sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.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 denna uppgift åt dig. De -u eller --unik flagga är vad du behöver.

Tänk på en fil med namnet duplicate.txt :

Så här sorterar du filen och tar bort upprepade data:

sort -u duplicate.txt

Produktion:

Det kan du se när du använder -u flagga, sortering visar bara distinkta linjer och ordnar dem enligt de angivna kriterierna.

Arbeta med textfiler i Linux

Även om kraften hos kommandorads-textredigerare är oöverträffad kan du fortfarande 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 genom att öva på grundläggande kommandon först. Efter att ha täckt de grundläggande verktygen är det förmodligen det bästa tillvägagångssättet att gradvis gå vidare mot mer komplexa kommandon.

Dela med sig Dela med sig Tweet E-post Linux Commands Reference Cheat Sheet

Detta enkla fuskblad hjälper dig att bli bekväm med Linux -kommandoradsterminalen på nolltid.

Läs Nästa
Relaterade ämnen
  • Linux
  • Filhantering
  • Linux
  • Linux -kommandon
Om författaren Deepesh Sharma(79 artiklar publicerade)

Deepesh är Junior Editor för Linux på MUO. Han skriver informationsguider på Linux, i syfte att ge alla nykomlingar en lycklig upplevelse. Osäker på filmer, men om du vill prata om teknik är han din kille. På fritiden kan du hitta honom läsa böcker, lyssna på olika musikgenrer eller spela gitarr.

Mer från Deepesh Sharma

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera