Startpagina > Tekstverwerking en zoeken > sort

Hulpmiddel voor het sorteren van tekstbestanden

`sort` is een commando dat wordt gebruikt om regels van tekstbestanden of gegevens van de standaardinvoer te sorteren. Het kan gegevens sorteren op verschillende criteria, zoals alfabetische volgorde, numerieke volgorde en omgekeerde volgorde, wat het zeer nuttig maakt voor logbestandanalyse, gegevensvoorbereiding en rapportage. Met deze gids leer je de basis van het gebruik van het `sort`-commando en de verschillende sorteermogelijkheden.

Overzicht van sort

`sort` vergelijkt standaard elke regel in zijn geheel en sorteert deze op ASCII-tekens volgorde (alfabetisch), waarna het resultaat naar de standaarduitvoer wordt gestuurd. Het originele bestand wordt niet gewijzigd; om de wijzigingen op te slaan, moet je een omleiding (`>`) gebruiken.

Belangrijkste functies van sort

`sort` wordt voornamelijk gebruikt voor de volgende doeleinden:

Belangrijkste toepassingsgebieden

  • Gegevens sorteren: Sorteert logbestanden, datalijsten, gebruikerslijsten, enzovoort op basis van specifieke criteria om de leesbaarheid te verbeteren.
  • Duplicaten verwijderen: Op basis van gesorteerde gegevens kunnen duplicaten eenvoudig worden verwijderd. (gebruik samen met `uniq`)
  • Rapportages genereren: Sorteert gegevens op basis van specifieke velden om ze in een gemakkelijk te analyseren vorm te brengen.
  • Bestanden vergelijken: Kan worden gebruikt om de inhoud van twee bestanden te normaliseren voordat ze worden vergeleken.

Basisprincipes van sorteermethoden

`sort` vergelijkt standaard elke regel vanaf het eerste teken op basis van de tekencode waarden (ASCII waarden). Bij nummers worden ze ook als strings behandeld, dus '10' kan vóór '2' komen, wat onverwachte resultaten kan opleveren. Om dit te voorkomen, moet je de numerieke sorteermogelijkheid gebruiken.

Belangrijkste sort opties

`sort` biedt een verscheidenheid aan opties om sorteernormen, volgorde en duplicaatverwerking nauwkeurig te regelen.

1. Sorteernormen en volgorde

2. Duplicaat en spatiebehandeling opties

3. Uitvoer en scheidingstekens opties

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`sort` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Voorbeelden van gebruik

Leer hoe je tekstgegevens efficiënt kunt sorteren en analyseren door verschillende toepassingsvoorbeelden van het `sort`-commando.

Basis sortering van bestandsinhoud

echo -e "Charlie\nAlice\nBob" > names.txt
sort names.txt

Sorteert de regels van het bestand `names.txt` in alfabetische volgorde (oplopende volgorde) en geeft deze weer.

Sorteren van bestandsinhoud in omgekeerde volgorde (aflopende volgorde)

echo -e "10\n2\n100" > numbers.txt
sort -r numbers.txt

Sorteert de nummers in het bestand `numbers.txt` door ze als strings te behandelen in omgekeerde volgorde.

Sorteren op basis van numerieke waarden

echo -e "20 Bob\n10 Alice\n100 Charlie" > scores.txt
sort -n scores.txt

Sorteert de scores (eerste veld) in het bestand `scores.txt` in oplopende volgorde op basis van de werkelijke numerieke waarden.

Sorteren op basis van de tweede kolom (naam) van een CSV-bestand

echo -e "1,Bob,Seoul\n3,Alice,Busan\n2,Charlie,Jeju" > users.csv
sort -t',' -k 2 users.csv

Sorteert op basis van het tweede veld (naam) in het door komma's gescheiden bestand `users.csv`.

Duplicaatregels verwijderen na sorteren

echo -e "apple\nbanana\napple\ncherry" > duplicates.txt
sort -u duplicates.txt

Sorteert de inhoud van het bestand `duplicates.txt` en verwijdert vervolgens duplicaatregels zodat er maar één overblijft.

Opslaan van gesorteerde resultaten in een nieuw bestand

echo -e "Zebra\nCat\nDog" > unsorted.txt
sort unsorted.txt -o sorted.txt

Sorteert de inhoud van het bestand `unsorted.txt` en slaat het resultaat op in het bestand `sorted.txt`. Het originele bestand blijft ongewijzigd.

Sorteren op basis van leesbare eenheden

echo -e "10K file1\n2M file2\n500K file3\n1G file4" > sizes.txt
sort -h sizes.txt

Sorteert een lijst met bestandsgroottes rekening houdend met leesbare eenheden (K, M, G). Dit is nuttig bij het sorteren van uitvoer van `du -h`.


Hétzelfde categoriecommando