logo

Linux Uniq Command

Linux uniq-kommandoen brukes til å fjerne alle de gjentatte linjene fra en fil. Den kan også brukes til å vise et antall ord, bare gjentatte linjer, ignorere tegn og sammenligne spesifikke felt. Det er en av de mest brukte kommandoene i Linux system. Det brukes ofte sammen med sorteringskommando fordi den sammenligner tilstøtende tegn. Den forkaster alle de identiske linjene og skriver utdataene.

Syntaks:

 uniq [OPTION]... [INPUT [OUTPUT]] 

Alternativer:

Noen nyttige kommandolinjealternativer for uniq-kommandoen er som følger:

-c, --count: det prefikser linjene med antall forekomster.

-d, --gjentatt: den brukes til å skrive ut dupliserte linjer, en for hver gruppe.

-D: Den brukes til å skrive ut alle dupliserte linjene.

--all-gjentatt[=METHOD]: Det er ganske likt '-D'-alternativet, forskjellen mellom begge alternativene er at det tillater separasjon av grupper med en tom linje.

-f, --hopp over-felt=N: Den brukes for å unngå sammenligning av de første N-feltene.

--gruppe[=METODE]: Den brukes til å vise alle elementer og skiller gruppene med en tom linje.

-i, --ignore-case: Den brukes til å ignorere forskjellene mens du sammenligner.

-s, --skip-chars=N: Den brukes for å unngå sammenligning av de første N tegnene.

-u, --unik: den brukes til å skrive ut unike linjer.

-z, --null-terminert: Den brukes for linjeavgrenseren er NUL og ikke nylinjemodus.

-w, --check-chars=N: Den brukes til å sammenligne ikke mer enn N tegn i linjer.

--hjelp: Den brukes til å vise hjelpedokumentasjon.

--versjon: Den brukes til å vise versjonsinformasjonen.

Eksempler på uniq Command

La oss se følgende eksempler på uniq-kommandoen:

Fjern gjentatte linjer

For å fjerne gjentatte linjer fra en fil, kjør den grunnleggende uniq-kommandoen som følger:

solfylt deol alder
 sort dupli.txt | uniq 

Kommandoen ovenfor vil fjerne de dupliserte linjene fra filen 'dupli.txt.' Tenk på utgangen nedenfor:

Linux Uniq-filtre

Fra utgangen ovenfor ignoreres de repeterende ordene.

Tell antall forekomster av et ord

Vi kan telle antall forekomster av et ord ved å bruke uniq-kommandoen. Alternativet '-c' brukes til å telle ordet. Utfør det som følger:

 sort dupli.txt | uniq -c 

Kommandoen ovenfor vil telle ordene som kommer i 'dupli.txt'. Tenk på utgangen nedenfor:

Linux Uniq-filtre

Fra utgangen ovenfor, kommandoen 'sort dupli.txt | uniq -c' teller antall ganger et ord gjentas.

Vis de gjentatte linjene

Alternativet '-d' brukes til å vise bare de gjentatte linjene. Den vil bare vise linjene som vil være mer enn én gang i en fil og skrive utdataene til standardutdata. Tenk på kommandoen nedenfor:

 sort dupli.txt | uniq -d 

Kommandoen ovenfor viser bare de gjentatte linjene. Tenk på utgangen nedenfor:

Linux Uniq-filtre

Vis de unike linjene

Alternativet '-u' brukes til å vise bare de unike linjene (som ikke gjentas). Den vil bare vise linjene som bare forekommer én gang og skrive resultatet til standardutdata. Tenk på kommandoen nedenfor:

 sort dupli.txt | uniq -u 

Kommandoen ovenfor viser bare de unike linjene fra filen 'dupli.txt'. Tenk på utgangen nedenfor:

Linux Uniq-filtre

Ignorer tegn i sammenligning

Alternativet '-s' brukes til å ignorere tegnene i sammenligning. Den vil ignorere det angitte antallet tegn og vise resultatet til standard utdata. Tenk på kommandoen nedenfor:

 sort dupli.txt | uniq -s 2 

Kommandoen ovenfor vil ignorere de to første tegnene i sammenligning fra filen 'dupli.txt'. Tenk på utgangen nedenfor:

Linux Uniq-filtre

Ignorer felt i sammenligning

Alternativet '-f' brukes til å ignorere feltene. Tenk på kommandoen nedenfor:

 uniq -f 2 dupli2.txt 

Kommandoen ovenfor vil ikke sammenligne de to første feltene fra filen 'dupli2.txt'. Tenk på utgangen nedenfor:

Linux Uniq-filtre

Fra utdataene ovenfor hoppes de to første feltene over, og resten av alle feltene sammenlignes fra filen 'dupli2.txt'.