Uniq

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

uniq - Rapportera eller ta bort dubbla rader i en fil

Kommandot `uniq` används för att rapportera eller ta bort dubbla rader i en sorterad fil i Unix-liknande operativsystem.

Syntax

uniq [ALTERNATIV]... [INPUT-FIL [OUTPUT-FIL]]

Beskrivning

Kommandot `uniq` läser en sorterad fil och tar bort eller rapporterar intilliggande dubbletter av rader. Det är vanligt att använda `uniq` i kombination med `sort`, eftersom `uniq` endast tar bort intilliggande dubbletter.

Alternativ

Kommandot `uniq` stöder flera alternativ som kan användas för att justera dess beteende:

  • -c, --count - Prefixera rader med antalet gånger de förekommer.
  • -d, --repeated - Visa endast duplicerade rader.
  • -D, --all-repeated[=SEPARATOR] - Visa alla duplicerade rader och kan separeras med en tom rad.
  • -f, --skip-fields=N - Hoppa över N fält i början av varje rad.
  • --group[=SEPARATOR] - Visa unika rader i grupper och kan separeras med en tom rad.
  • -i, --ignore-case - Ignorera skiftlägeskänslighet vid jämförelser.
  • -s, --skip-chars=N - Hoppa över N tecken i början av varje rad.
  • -u, --unique - Visa endast unika rader.
  • -z, --zero-terminated - Använd nollterminerade rader istället för newline.
  • --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `uniq`-kommandot:

  • För att ta bort dubbletter i en sorterad fil och skriva resultatet till standardutgång:

sort fil.txt | uniq

  • För att visa antalet gånger varje rad förekommer i filen:

sort fil.txt | uniq -c

  • För att visa endast duplicerade rader:

sort fil.txt | uniq -d

  • För att visa endast unika rader:

sort fil.txt | uniq -u

  • För att ignorera skiftlägeskänslighet vid jämförelser:

sort fil.txt | uniq -i

  • För att hoppa över de första två fälten vid jämförelser:

sort fil.txt | uniq -f 2

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `uniq`-kommandot på macOS jämfört med Linux:

  • Tillgänglighet: `uniq` är tillgängligt både på macOS och Linux, och de flesta alternativ fungerar likadant på båda plattformarna.
  • Alternativ: Vissa alternativ som finns på GNU-versionen av `uniq` kan saknas eller ha annorlunda beteende på macOS. Det är bra att konsultera `man`-sidan på din specifika plattform.
  • Textkodning: Hanteringen av textkodningar och regionala inställningar kan skilja sig något mellan macOS och Linux, vilket kan påverka hur rader jämförs.

Exempel på att använda `uniq` på macOS:

  • För att ta bort dubbletter i en sorterad fil och skriva resultatet till standardutgång:

sort fil.txt | uniq

  • För att visa antalet gånger varje rad förekommer i filen:

sort fil.txt | uniq -c

Det är alltid bra att konsultera `man`-sidan för `uniq` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `uniq`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att filerna du försöker bearbeta faktiskt existerar och är läsbara.
  • Att input-filen är sorterad om du försöker ta bort dubbletter.

Se även

  • sort - Sortera rader av textfiler.
  • grep - Sök efter mönster i filer.
  • awk - Ett språk och verktyg för textbehandling.
  • sed - En strömaditor för textmanipulering.

Källor