Startpagina > Tekstverwerking en zoeken > uniq

uniq: Verwijder en tel dubbele regels

Het `uniq` commando wordt gebruikt om opeenvolgende dubbele regels in een tekstbestand of standaardinvoer te vinden en te verwijderen, of om het aantal dubbele regels te tellen met specifieke opties. Vooral de `-c` optie is nuttig voor data-analyse, omdat deze het aantal keren dat elke regel is herhaald, voor de regel plaatst.

Overzicht

`uniq` wordt meestal in combinatie met het `sort` commando gebruikt via een pipe (|) om dubbele regels in gesorteerde data efficiënt te verwerken. De `-c` optie maakt het gemakkelijk om het aantal dubbele regels te achterhalen.

Belangrijkste kenmerken

  • Verwerking van opeenvolgende dubbele regels
  • Tellen van dubbele regels (-c)
  • Optie om hoofdletters en kleine letters te negeren (-i)
  • Vergelijking waarbij specifieke velden of tekens worden genegeerd

Belangrijkste opties

Functionaliteit

Vergelijkingsmethoden

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`uniq` Voer het commando uit.

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

Gebruiksvoorbeelden

Woordfrequentie in een bestand berekenen

sort words.txt | uniq -c

Telt hoe vaak elk woord (regel) in het bestand `words.txt` voorkomt en toont het resultaat. Omdat `uniq` alleen opeenvolgende duplicaten verwerkt, moet `sort` eerst worden gebruikt om alle duplicaten naast elkaar te plaatsen.

Meest voorkomende regels in een logbestand vinden

cat log.txt | sort | uniq -c | sort -nr

Telt het aantal dubbele regels in een logbestand en sorteert vervolgens het resultaat op basis van het aantal (numeriek, aflopend) om de meest voorkomende regels bovenaan te tonen.

Dubbele regels tellen, hoofdletters/kleine letters negerend

echo -e "Apple\napple\nBanana\napple" | sort | uniq -ci

Telt het aantal duplicaten van de standaardinvoer, waarbij 'Apple' en 'apple' als hetzelfde worden beschouwd.

Dubbele regels tellen, specifieke velden negerend

sort -k2 data.txt | uniq -f 1 -c

Telt het aantal dubbele regels door het eerste veld van het bestand te negeren en te vergelijken vanaf het tweede veld. (Bijvoorbeeld, als `data.txt` de inhoud `ID1 apple`, `ID2 apple` heeft, wordt 'apple' als 2 geteld).

Tips & Aandachtspunten

Het `uniq` commando verwerkt standaard alleen 'opeenvolgende' dubbele regels. Om duplicaten in het hele bestand te verwijderen of te tellen, moet u daarom eerst de regels sorteren met het `sort` commando.

Gebruikstips

  • Gebruik met sort: `uniq` verwerkt alleen opeenvolgende duplicaten, dus om duplicaten in het hele bestand te verwerken, moet u eerst sorteren met `sort`. Bijvoorbeeld: `sort file.txt | uniq -c`
  • Meest voorkomende items vinden: U kunt de uitvoer van `uniq -c` doorsturen naar `sort -nr` om de meest voorkomende items in aflopende volgorde te sorteren. Bijvoorbeeld: `sort file.txt | uniq -c | sort -nr`
  • Prestatieoverwegingen: Voor zeer grote bestanden moet u rekening houden met het geheugengebruik van `sort` en `uniq`. Indien nodig kunt u de `-T` optie van `sort` gebruiken om een tijdelijk directory op te geven.

gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando