kat duplicaat1.txt | sorteer -k 2 | uniq -f 1
Als je je afvraagt met de vlag "sorteren", is het om "sorteren" te vertellen om te sorteren op basis van de tweede kolom.
Toon alle regels, maar scheid duplicaten
Volgens alle bovengenoemde voorbeelden bewaart "uniq" alleen de eerste keer dat de gedupliceerde inhoud voorkomt en verwijdert de rest. Hoe zit het met het verwijderen van de dubbele inhoud helemaal?? Ja, door de vlag "-u" te gebruiken, kunnen we "uniq" dwingen om alleen de niet-repetitieve regels te behouden.
kat duplicaat.txt | soort
kat duplicaat.txt | sorteren | uniq -u
Hmm, teveel duplicaten zijn nu weg..
Eerste tekens overslaan
We hebben besproken hoe we "uniq" kunnen vertellen om zijn werk voor andere velden te doen, toch?? Het is tijd om de controle te starten na een aantal begintekens. Voor dit doel zal de vlag "-s" vergezeld van het aantal tekens "uniq" vertellen om het werk te doen.
kat duplicaat1.txt | sorteer -k 2 | uniq -s 2
Het is vergelijkbaar met het voorbeeld waarin "uniq" zijn taak alleen in het tweede veld moest doen. Laten we nog een voorbeeld zien met deze truc.
kat duplicaat.txt | sorteren | uniq -s 5
ALLEEN de begintekens controleren
Net zoals we "uniq" vertelden om de eerste paar tekens over te slaan, is het ook mogelijk om "uniq" te vertellen om de controle binnen de eerste paar tekens te beperken. Er is een speciale "-w" vlag voor dit doel.
kat duplicaat.txt | sorteren | uniq -w 5
Deze opdracht vertelt "uniq" om de uniciteitscontrole uit te voeren binnen de eerste 5 tekens.
Laten we nog een voorbeeld van dit commando bekijken.
kat duplicaat1.txt | sorteren | uniq -w 5
Het vernietigt alle andere gevallen van "dubbele" vermeldingen omdat het de uniciteitscontrole op het "dupli" -gedeelte heeft uitgevoerd.
Hoofdletter ongevoeligheid
Bij het controleren op uniciteit controleert "uniq" ook op hoofdletters van de tekens. In sommige situaties maakt hoofdlettergevoeligheid niet uit, dus we kunnen de vlag "-i" gebruiken om "uniq" hoofdletterongevoelig te maken.
Hier presenteer ik u het demobestand.
Een heel slimme duplicatie met een combinatie van hoofdletters en kleine letters, toch? Het is tijd om een beroep te doen op de kracht van "uniq" om de rommel op te ruimen!
kat duplicaat1.txt | sorteren | uniq -i
Wens vervuld!
NULL-beëindigde uitvoer
Het standaardgedrag van "uniq" is om de uitvoer te beëindigen met een nieuwe regel. De uitvoer kan echter ook worden afgesloten met een NULL. Dat is best handig als je het in scripts gaat gebruiken. Hier is de vlag "-z" wat het werk doet.
kat duplicaat.txt | sorteren | uniq -z
Meerdere vlaggen combineren
We leerden een aantal vlaggen van “uniq”, toch? Wat dacht je ervan om ze samen te combineren??
Ik combineer bijvoorbeeld de hoofdlettergevoeligheid en het aantal herhalingen samen.
Als je ooit van plan bent om meerdere vlaggen samen te gebruiken, zorg er dan eerst voor dat ze op de juiste manier samenwerken. Soms werken dingen gewoon niet zoals ze zouden moeten.
Laatste gedachten
"uniq" is een vrij unieke tool die Linux biedt. Met zoveel krachtige functies kan het op talloze manieren nuttig zijn. Voor de lijst van alle vlaggen en hun uitleg, raadpleeg de man en info pagina's van “uniq”.
man uniek
info uniek
Genieten!