exemepl på uniq: Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
Rad 189: Rad 189:


= Sidslut =
= Sidslut =
Det här är AI-genererat innehåll.
Det här är AI-genererat innehåll.


Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontakta-linux-se/
https://www.linux.se/kontakta-linux-se/
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp i Stockholm AB] som har sponsrat [https://www.linux.se Linux.se] med webbhotell.
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp i Stockholm AB] som har sponsrat [https://www.linux.se Linux.se] med webbhotell.


[[Kategori:Linuxmanual grupp 1]]
[[Kategori:Linuxmanual grupp 1]]
[[Kategori:Linuxmanual]]
[[Kategori:Linuxmanual]]

Versionen från 28 mars 2026 kl. 06.36

Praktisk användning av uniq i Linux

Ingress

Kommandot uniq(1) är ett klassiskt Unix-verktyg för att identifiera, filtrera och analysera upprepade rader i textdata. Det används ofta i kombination med andra verktyg som sort(1) och grep(1), och är särskilt användbart vid logganalys, datarensning och rapportgenerering.

Denna artikel visar praktiska och verklighetsnära exempel på hur uniq(1) används i olika situationer.

Hur uniq fungerar

Till skillnad från vad många tror tar uniq(1) inte bort alla dubbletter i en fil automatiskt. Det fungerar endast på **intilliggande rader**.

Det innebär att följande data:

äpple
banan
äpple

inte kommer att filtreras korrekt med enbart:

uniq fil.txt

För att lösa detta används nästan alltid sort(1) innan:

sort fil.txt | uniq

Vanligaste användningsmönstret

Den vanligaste konstruktionen är:

sort fil.txt | uniq

Detta:

  • sorterar raderna
  • grupperar identiska rader tillsammans
  • filtrerar bort dubbletter

Räkna förekomster (statistik)

För att analysera hur ofta något förekommer används flaggan -c:

sort fil.txt | uniq -c

Exempelutdata:

3 äpple
1 banan
5 päron

Detta är mycket användbart för:

  • logganalys
  • frekvensanalys
  • statistik över textdata

Identifiera dubbletter

Vill man endast se vilka rader som förekommer flera gånger:

sort fil.txt | uniq -d

Detta används ofta för att:

  • hitta dubletter i databasutdrag
  • upptäcka redundans i listor

Hitta unika värden

För att visa endast rader som förekommer exakt en gång:

sort fil.txt | uniq -u

Detta är användbart när man vill:

  • hitta avvikelser
  • identifiera unika poster i dataset

Ignorera skillnader i versaler

Textdata kan ofta innehålla variationer i stora och små bokstäver. Med -i ignoreras detta:

sort fil.txt | uniq -i

Exempel:

Hej
hej
HEJ

behandlas som samma rad.

Arbeta med delar av rader

I många fall består rader av flera fält, exempelvis loggar eller CSV-data.

Hoppa över fält

uniq -f 1 fil.txt

Ignorerar det första fältet (t.ex. tidsstämpel).

Hoppa över tecken

uniq -s 5 fil.txt

Ignorerar de första 5 tecknen.

Begränsa jämförelse

uniq -w 10 fil.txt

Jämför endast de första 10 tecknen.

Praktiskt exempel: logganalys

Ett vanligt scenario är att analysera fel i loggfiler:

grep "ERROR" system.log | sort | uniq -c

Detta ger:

  • en lista över unika fel
  • antal gånger varje fel inträffat

Det gör det lätt att:

  • prioritera problem
  • identifiera återkommande fel

Praktiskt exempel: IP-adresser

Räkna antal unika IP-adresser i en webbserverlogg:

cut -d' ' -f1 access.log | sort | uniq -c

Här används även cut(1) för att extrahera IP-adresser.

Alternativ metod

I vissa fall kan sort(1) ersätta uniq(1) helt:

sort -u fil.txt

Detta:

  • sorterar
  • tar bort dubbletter direkt

Dock saknar det funktioner som:

  • räkning (-c)
  • visning av endast dubbletter (-d)

När ska man använda uniq?

uniq(1) är särskilt användbart när man behöver:

  • analysera frekvens av data
  • hitta dubbletter eller unika poster
  • bearbeta stora textmängder snabbt
  • kombinera med andra Unix-verktyg i pipelines

Sammanfattning

uniq(1) är ett enkelt men kraftfullt verktyg i Unix-filosofin: att göra en sak och göra den bra. Tillsammans med verktyg som sort(1), grep(1) och cut(1) blir det en central komponent i textbearbetning och systemadministration.

SE ÄVEN

uniq(1), sort(1), grep(1), cut(1), comm(1)

Sidslut

Det här är AI-genererat innehåll.

Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontakta-linux-se/

Tack till Datorhjälp i Stockholm AB som har sponsrat Linux.se med webbhotell.