Noen ganger er det sannsynlig at du har veldig lange tekstfiler der det er vanskelig å finne visse mønstre eller linjer eller ord som er duplisert, eller kanskje det er en haug med små tekstfiler der du ønsker å matche lettere, og til og med bruke en pipe og matche utdataene til en kommando. Også, uniq er kommandoen hva leter du etter det.
Med uniq kan du se etter overflødig informasjon på en veldig enkel måte. I tillegg vil det også tillate deg å fjerne disse duplikatene hvis du trenger det. Og i denne opplæringen vil du se noen eksempler på kommandoen som du kan finne nyttig. Husk at den er installert som standard i de aller fleste distros, så du slipper å installere pakken...
Vel, først av alt, la oss se et eksempel for å forstå det grunnleggende om uniq-kommandoen og hva den gjør og hva den ikke gjør. Til ejemplo, forestill deg at du lager en tekstfil som heter test.txt, og inne legger du flere gjentatte fraser eller ord, for eksempel å gjenta tre linjer «Hei dette er en test» og bruk deretter uniq med det:
nano prueba.txt uniq prueba.txt
Vel, i så fall, utgangen av kommandoen blir ganske enkelt:
Salida: Hola, esto es una prueba
Det vil si, sett en enkelt linje «Hei dette er en test» eliminere de 2 andre som er like. Men pass på, hvis du bruker cat igjen for å se originalen, vil du se at de ikke er fjernet fra filen, den har ganske enkelt fjernet dem fra utdataene:
cat prueba.txt
hvis utgang ville være:
Hola, esto es una prueba Hola, esto es una prueba Hola, esto es una prueba
Men uniq-kommandoen har mange flere tilgjengelige alternativer. Det kan for eksempel fortelle deg antall ganger en linje gjentas, som indikerer i begynnelsen av linjen antall repetisjoner. For det:
uniq -c prueba.txt
Du kan også bare skrive ut gjentatte linjer, og ignorer de ikke-gjentatte:
uniq -d prueba.txt
Eller de som ikke er duplisert med -u-alternativet:
uniq -u prueba.txt
Å bruke sakssensitiv og vær sensitiv for store og små bokstaver, kan du bruke -i-alternativet:
uniq -i prueba.txt
Ok, og hvordan kan det gjøres lage en fil med bare de unike linjene, og eliminerer alle duplikatene på en gang. Vel, det er så enkelt som å bruke et rør for å overføre utdataene fra uniq til en ny tekstfil:
uniq prueba.txt > unicas.txt