Verwijder dubbele regels uit een bestand

Ik maak een woordenboek met de meest gebruikte wachtwoorden, de populaire of meest gebruikte wachtwoorden (… Vraag niet waarom… HAHAHA), hiervoor neem ik tekst uit andere woordenboeken enz., maar ik bevind me in de situatie dat er veel dubbele wachtwoorden zijn en ik moet de dubbele regels verwijderen.

Met andere woorden, bijvoorbeeld ... we hebben het volgende bestand: pas.txt

En de inhoud is:

asdasd
lola
liefde
asdasd
ruiten
beheerder
linux
asdasd
liefde

 Zoals we zien, hebben we herhaald «liefde"En"asdasd«, De laatste 3 keer. Hoe verwijder ik dubbele regels?

Om het te doen is eenvoudig, met dit commando:

cat pass.txt | sort | uniq > pass-listos.txt

Dit genereert een bestand met de naam pass-ready.txt die zal bevatten:

beheerder
asdasd
linux
lola
liefde
ruiten

Wat het commando doet is HEEL eenvoudig ...

  1. kattenpas.txt - »Maak een lijst van de inhoud van het bestand.
  2. sorteren - »Sorteer de inhoud alfabetisch.
  3. uniek - »Verwijder dubbele regels.
  4. > pass-ready.txt - »Het resultaat van de vorige commando's, zet het in het bestand pass-ready.txt (die, aangezien het niet bestaat, het zal creëren)

Het is zo simpel ... Ik heb net ontdekt dat het commando sorteren ja, het is erg goed ... maar samen met uniek, ze zijn een juweel van kunst 😀

Ik hoop dat je behulpzaam bent geweest.

groeten

Behang: Als u de wallpaper wilt downloaden «Ik hou van #! / Bin / bash"Hier is de link:

Download achtergrond

Laat je reactie achter

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

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  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.

  1.   Carlos zei

    U kunt ook sort -u gebruiken.

    Gefeliciteerd met de blog, ik vind het geweldig!

    1.    KZKG ^ Gaara zei

      Ja klopt.
      Niets, heel erg bedankt voor je reactie 😀

      Welkom 😉
      groeten

  2.   Diego zei

    Het probleem daarmee is dat het de volgorde van de woorden verandert, het werkt ... maar uiteindelijk verschilt het resultaat veel van het origineel in de volgorde (wat misschien in sommige gevallen ertoe doet)

    1.    KZKG ^ Gaara zei

      Ja inderdaad, hierdoor worden de woorden alfabetisch geordend, dus als de inhoud ZONDER variaties nodig was, is deze oplossing niet de ideale oplossing.

    2.    Carlos zei

      Draai niet rond, wat als het in je opkomt om het sorteercommando niet te gebruiken? denk alsjeblieft een beetje meer en laat niet alles opeten.

      kat pass.txt | uniq> pass-ready.txt

      1.    Eliuber zei

        het werkt niet, ik heb het geprobeerd

      2.    bob zei

        werkt niet omdat "herhaalde" regels continu moeten zijn

  3.   niet genoemd zei

    bedankt

    het is best handig

  4.   giskard zei

    Zeer goed! Een simpele en duidelijke oplossing. Ik hou van dat soort dingen 🙂
    Ik moet toegeven dat ik iets in Python zou hebben gedaan, maar deze oplossing is prima.

    1.    KZKG ^ Gaara zei

      bedankt ^ - ^

  5.   handigheid zei

    Hallo! zeer goed!
    Ik heb een vraag, alstublieft
    het zou voor mij werken voor het volgende voorbeeld:
    ABCD1111
    DEFG 2222 45455
    ABCD1111
    DEFG 2222

    De rijen zijn hetzelfde, maar ze hebben spaties en nog een paar tekens ... controleert dit op hetzelfde woord? of per regel? Ik leg uit?
    vanaf nu dank ik u hartelijk.
    Een knuffel

    1.    KZKG ^ Gaara zei

      Hallo daar,
      Zoals ik zag, vergelijkt dit regels en niet kolommen, dus in het voorbeeld dat je me geeft, zou dit ofwel de 1e regel of de 3e, 2e en 4e regel verwijderen, ook al zijn ze bijna identiek, ze zijn niet 100% identiek omdat ze een verschil kolom. 😉

      Bedankt voor de reactie ^ - ^

      1.    TINO zei

        Dankzij jou!! voordat het orakel een uur duurde om duplicaten te elimineren ... nu duurt het 30 seconden met de kattensoort !!

  6.   MegaBedder zei

    Ik heb het nodig in PHP: S

    1.    KZKG ^ Gaara zei

      Uff ... ik ben PHP, ik ben heel, heel kort, ik ben niet echt een programmeur 🙁

      Het spijt me.

    2.    brunocascio zei

      Voor php is er array_unique (…) in de officiële PHP-documentatie vind je veel belangrijke en efficiënte functies.

      Wat betreft het soort, tenzij je het nodig hebt, is het niet nodig ... Uitvoeringstijd en geheugen zijn verspild. (voor wat er in de post wordt gedaan)

      Groeten!

  7.   geek zei

    Wauw !! een woordenboek om als brute kracht te gebruiken !! XD

  8.   Gustavo zei

    Zeer goed de combinatie van soort met uniq! Het heeft me veel geholpen om dubbele regels te verwijderen.

    bedankt

  9.   Gustavo zei

    Carlos 'opmerking is, ondanks zijn arrogantie, niet geldig. Hij zegt te gebruiken:

    kat pass.txt | uniq> pass-ready.txt

    Voorwaarde voor uniq is echter dat het bestand is geordend. Je had er wat meer over moeten nadenken of jezelf eerder moeten informeren.

  10.   Eliuber zei

    Heel goed, je hebt me veel tijd bespaard met het runnen van mijn bash

  11.   Flintstones zei

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    hiermee worden de lijnen geëlimineerd zonder te bestellen.

  12.   miniminimum zei

    Heel erg bedankt voor de input!

    Hoewel het cool zou zijn om het uniek te kunnen maken zonder de volgorde te veranderen, maar ach, een gemakkelijke en nuttige opdracht!

  13.   Felipe Gutierrez zei

    Bedankt, het heeft me veel geholpen 😉

  14.   ernesto zei

    ik heb dit
    C000006158880201502051056088364 C00-06158880
    C000007601673201503051056088364 C00-07601673
    C000008659304201504051056088364 C00-08659304
    T 0809074070562015120818144287185 REAÑO RUBIÑOS EMILIA DORIS
    T 0809092979972016010818144287185 REAÑO RUBIÑOS EMILIA DORIS
    C000005398451201501231044214375 C00-05398451
    C000007674996201503051000000286 C00-07674996
    C000008514288201504051000000463 C00-08514288
    C000011613498201506051056088070 C00-11613498

    Hoe zorg ik ervoor dat het alleen duplicaten per abonnee in een bestand schildert en de niet-duplicaten in een ander bestand laat?

    de abonnee staat in pos 23 (10 posities)

  15.   Fernando zei

    sort -u -k 1,1 File.txt> resultaat.txt

    Dit sorteert het bestand op het eerste veld

  16.   Ik ben Diego zei

    2020 en nog steeds serveren, heel erg bedankt!

  17.   sarah zei

    Bn co thểhẫng dẫn cách loỏi bỏcác dòng trặng lặp của nhi fileu bestandstekst trong Linux of Windows c không? Cng như trường hợp của bạn, khi tôi tạo file naar điển vì tôi chia nội dung ra nên Có khá nhiều file và chắc chắn con nhiều dòp trng l. Ví dụ: File 1 của tôi co 5 dòng, file 2 co 15 dòng (co 2 dòng trùng lặp với File 1. Tôi muốn co kết quả, File 1 vẫn giữ nguyên 5 dòng, File 2 th 2 only bốgi dng 1 .
    Như bạn biết con nhiều li do chúng ta ko thể gộp các file txt đó lại với nhau, vì những file text to điển rất ư là nhiều ký, ch ng hạn nhng. Dit is meer dan het is dat het niet in Windows is, in plaats van op een andere manier, omdat het in Windows verandert. Hy vọng nhận được phản hồi to bạn!