kat duplikat1.txt | sorter -k 2 | uniq -f 1
Hvis du spekulerer på med "sorter" -flagget, er det at fortælle "sorter" at sortere ud fra den anden kolonne.
Vis alle linjer, men adskilte dubletter
Ifølge alle eksemplerne nævnt ovenfor beholder “uniq” kun den første forekomst af det duplikerede indhold og fjerner resten. Hvad med at fjerne det duplikerede indhold helt? Ja, ved hjælp af flaget “-u” kan vi tvinge “uniq” til kun at beholde de ikke-gentagne linjer.
kat duplikat.txt | sortere
kat duplikat.txt | sorter | uniq -u
Hmm, for mange dubletter er nu væk ..
Spring indledende tegn over
Vi diskuterede, hvordan man skulle fortælle “uniq” at gøre sit job inden for andre felter, ikke? Det er tid til at starte kontrollen efter et antal indledende tegn. Til dette formål vil "-s" -flaget ledsaget af antallet af tegn fortælle "uniq" at udføre jobbet.
kat duplikat1.txt | sorter -k 2 | uniq -s 2
Det ligner eksemplet, hvor “uniq” kun var at udføre sin opgave i det andet felt. Lad os se et andet eksempel med dette trick.
kat duplikat.txt | sorter | uniq -s 5
Kontroller KUN de første tegn
Ligesom den måde, vi fortalte “uniq” at springe over de første par karakterer, er det også muligt at fortælle “uniq” at bare begrænse kontrollen inden for de første par tegn. Der er et dedikeret “-w” flag til dette formål.
kat duplikat.txt | sorter | uniq -w 5
Denne kommando fortæller “uniq” at udføre entydighedskontrol inden for de første 5 tegn.
Lad os se et andet eksempel på denne kommando.
kat duplikat1.txt | sorter | uniq -w 5
Det udsletter alle de andre forekomster af "duplikerede" poster, fordi det gjorde det unikke ved "dupli" -delen.
Sagsfølsomhed
Når der kontrolleres for entydighed, kontrollerer “uniq” også for tegnene. I nogle situationer betyder sagsfølsomhed ikke noget, så vi kan bruge flaget “-i” til at gøre “uniq” -sensfølsom.
Her præsenterer jeg Demofilen.
Nogle virkelig kloge duplikater med en blanding af store og små bogstaver, højre? Det er tid til at påkalde styrken ved "uniq" til at rense rodet!
kat duplikat1.txt | sorter | uniq -i
Ønsket imødekommet!
NULL-afsluttet output
Standardopførelsen for "uniq" er at afslutte output med en ny linje. Dog kan output også afsluttes med en NULL. Det er ret nyttigt, hvis du vil bruge det til scripting. Her er flaget “-z”, hvad der gør jobbet.
kat duplikat.txt | sorter | uniq -z
Kombinerer flere flag
Vi lærte et antal flag af "uniq", højre? Hvad med at kombinere dem sammen?
For eksempel kombinerer jeg sag-ufølsomhed og antal gentagelser sammen.
Hvis du nogensinde planlægger at blande flere flag sammen, skal du først sørge for at de fungerer på den rigtige måde sammen. Nogle gange fungerer tingene bare ikke som de skal.
Afsluttende tanker
“Uniq” er et ganske unikt værktøj, som Linux tilbyder. Med så mange kraftfulde funktioner kan det være nyttigt på mange måder. For en liste over alle flagene og deres forklaringer, se manden og infosiderne i “uniq”.
mand uniq
info uniq
god fornøjelse!