uniq: Linux-opdracht om dubbele tekst te vinden

Soms is het waarschijnlijk dat u zeer lange tekstbestanden hebt waarin het moeilijk is om bepaalde patronen te vinden of regels of woorden die zijn gedupliceerd, of misschien zijn er een aantal kleine tekstbestanden waar je gemakkelijker een match wilt maken, en zelfs een pipe wilt gebruiken en de uitvoer van een commando wilt matchen. Ook, uniq is het commando wat zoek je het.

Met uniq kan dat zoek naar overbodige informatie op een heel eenvoudige manier. Bovendien kunt u deze duplicaten ook verwijderen als dat nodig is. En in deze zelfstudie ziet u enkele voorbeelden van de opdracht die u mogelijk nuttig vindt. Onthoud dat het standaard is geïnstalleerd in de overgrote meerderheid van de distributies, dus je hoeft het pakket niet te installeren...

Laten we eerst een voorbeeld bekijken om de basisprincipes van het uniq-commando te begrijpen en wat het doet en wat het niet doet. Voor voorbeeld bekijken, stel je voor dat je een tekstbestand maakt met de naam test.txt, en binnenin plaats je verschillende herhaalde zinnen of woorden, zoals het herhalen van drie regels «Hoi dit is een test» en gebruik dan uniq ermee:

nano prueba.txt

uniq prueba.txt

Nou, in dat geval, de uitvoer van het commando zal eenvoudig zijn:

Salida:

Hola, esto es una prueba

Dat wil zeggen, zet een enkele regel «Hoi dit is een test» het elimineren van de andere 2 die hetzelfde zijn. Maar pas op, als je cat opnieuw gebruikt om het origineel te zien, zul je zien dat ze niet uit het bestand zijn verwijderd, het heeft ze gewoon uit de uitvoer verwijderd:

cat prueba.txt

wiens output zou zijn:

Hola, esto es una prueba

Hola, esto es una prueba

Hola, esto es una prueba

Maar het uniq-commando heeft veel meer opties beschikbaar. Het kan u bijvoorbeeld vertellen: het aantal keren dat een regel wordt herhaald, waarbij aan het begin van de regel het aantal herhalingen wordt aangegeven. Ervoor:

uniq -c prueba.txt

Je zou ook gewoon kunnen print herhaalde regels, en negeer de niet-herhaalde:

uniq -d prueba.txt

Of degenen die niet worden gedupliceerd met de -u optie:

uniq -u prueba.txt

Om te gebruiken hoofdlettergevoelig en wees hoofdlettergevoelig, je kunt de -i optie gebruiken:

uniq -i prueba.txt

Ok, en hoe kan het worden gedaan om maak een bestand met alleen de unieke regels, waardoor alle duplicaten in één keer worden geëlimineerd. Welnu, het is net zo eenvoudig als het gebruik van een pijp om de uitvoer van uniq naar een nieuw tekstbestand te pipen:

uniq prueba.txt > unicas.txt


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.