Fjern duplikatlinjer fra en fil

Jeg laver en ordbog over de mest brugte adgangskoder, de mest populære eller ofte brugt af brugerne (... Spørg ikke hvorfor ... HAHAHA), for dette tager jeg tekst fra andre ordbøger osv., men jeg befinder mig i den situation, at der er mange duplikatadgangskoder, og jeg er nødt til at fjerne duplikatlinjerne.

Det er for eksempel ... vi har følgende fil: pass.txt

Og dens indhold er:

asdasd
lola
kærlighed
asdasd
vinduer
admin
linux
asdasd
kærlighed

 Som vi ser, har vi gentaget «kærlighed»Y«asdasd«, Sidstnævnte 3 gange. Hvordan fjernes duplikatlinjer?

At gøre det er enkelt med denne kommando:

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

Dette genererer en fil, der kaldes pass-ready.txt som vil indeholde:

admin
asdasd
linux
lola
kærlighed
vinduer

Hvad kommandoen gør er MEGET simpelt ...

  1. kat pass.txt - »Angiv filens indhold.
  2. sort - »Sorter indholdet alfabetisk.
  3. Uniq - »Fjern duplikatlinjer.
  4. > pass-ready.txt - »Resultatet af de foregående kommandoer, læg det i filen pass-ready.txt (som, da det ikke eksisterer, vil skabe det)

Det er så simpelt ... Jeg har lige opdaget, at kommandoen sort ja, det er meget godt ... men sammen med Uniq, de er en kunstjuvel 😀

Jeg håber du har været hjælpsom.

hilsen

Baggrund: Hvis du vil downloade baggrunden «Jeg elsker #! / Bin / bash»Her er linket:

Download baggrund

27 kommentarer, lad dine

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Carlos sagde han

    Du kan også bruge sortering -u.

    Tillykke med bloggen, jeg elsker det!

    1.    KZKG ^ Gaara sagde han

      Yeah sikkert.
      Intet, meget tak for at kommentere 😀

      Velkommen 😉
      hilsen

  2.   Diego sagde han

    Problemet med det er, at det ændrer rækkefølgen af ​​ordene, det virker ... men i sidste ende adskiller resultatet sig meget fra originalen i rækkefølgen (hvilket måske i nogle tilfælde betyder noget)

    1.    KZKG ^ Gaara sagde han

      Ja, dette ordner ordene alfabetisk, så hvis indholdet var nødvendigt UDEN variationer, er denne løsning ikke den ideelle.

    2.    Carlos sagde han

      Skru ikke rundt, hvad hvis det sker for dig, at du ikke lægger sorteringskommandoen? tænk lidt mere og ikke alt tygges op.

      kattepas.txt | uniq> pass-ready.txt

      1.    Eliuber sagde han

        det virker ikke, jeg prøvede det

      2.    bob sagde han

        fungerer ikke, fordi "gentagne" linjer skal være kontinuerlige

  3.   ikke navngivet sagde han

    tak

    det er ret nyttigt

  4.   giskard sagde han

    Meget godt! En enkel og klar løsning. Jeg kan godt lide sådanne ting 🙂
    Jeg må indrømme, at jeg ville have gjort noget i Python, men denne løsning er fint.

    1.    KZKG ^ Gaara sagde han

      Tak ^ - ^

  5.   tin sagde han

    Hej! meget godt!
    Jeg har en forespørgsel tak
    det ville fungere for mig i følgende eksempel:
    ABCD 1111
    DEFG 2222 45455
    ABCD 1111
    DEFG 2222

    Rækkerne er de samme, men de har mellemrum og nogle flere tegn ... kontrollerer dette for det samme ord? eller ved linje? Forklarer jeg?
    fra nu af takker jeg dig meget.
    Et knus

    1.    KZKG ^ Gaara sagde han

      Hej hvordan går det
      Som jeg så, sammenligner dette linjer og ikke kolonner, så i eksemplet, som du giver mig, fjerner det enten 1. linje eller 3., 2. og 4. linje, selvom de er næsten identiske, de er ikke 100% identiske, fordi de har en kolonne med forskel. 😉

      Tak for kommentaren ^ - ^

      1.    Tino sagde han

        Tak til dig!! før det tog en time for oracle at fjerne dubletter ... nu tager det 30 sekunder med kattesort !!

  6.   MegaBedder sagde han

    Jeg har brug for det i PHP: S

    1.    KZKG ^ Gaara sagde han

      Uff ... Jeg er PHP, jeg er meget, meget kort, jeg er ikke rigtig programmør 🙁

      Jeg er ked af det.

    2.    brunocascio sagde han

      For php er der array_unique (…) i den officielle PHP-dokumentation, du finder mange vigtige og effektive funktioner.

      Med hensyn til sortering, medmindre du har brug for det, er det ikke nødvendigt ... Eksekveringstid og hukommelse er spildt. (for hvad der gøres i posten)

      Greetings!

  7.   nørd sagde han

    Wow !! en ordbog, der skal bruges som rå styrke !! XD

  8.   Gustavo sagde han

    Meget god kombination af sort med uniq! Det hjalp mig meget med at fjerne duplikatlinjer.

    Tak

  9.   Gustavo sagde han

    Til trods for sin arrogance er Carlos 'kommentar ikke gyldig. Han siger at bruge:

    kattepas.txt | uniq> pass-ready.txt

    dog er en forudsætning for uniq, at filen bestilles. Bør have tænkt på det lidt mere eller spurgt før

  10.   Eliuber sagde han

    meget god, du sparede mig meget tid på at køre min bash

  11.   Flintstones sagde han

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    med dette fjernes linjerne uden at skulle bestille.

  12.   miniminimum sagde han

    Mange tak for bidraget!

    Selvom det ville være sejt at kunne gøre det unikt uden at ændre rækkefølgen, men hej, en nem og nyttig kommando!

  13.   Felipe Gutierrez sagde han

    Tak, det hjalp mig meget 😉

  14.   ernesto sagde han

    jeg har det
    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

    Hvordan får jeg det til kun at male duplikaterne pr. Abonnent i en fil og efterlade dem, der ikke er duplikater, i en anden?

    abonnenten er i pos 23 (10 positioner)

  15.   Fernando sagde han

    sorter -u -k 1,1 File.txt> result.txt

    Dette sorterer filen efter det første felt

  16.   Jeg er Diego sagde han

    2020 og serverer stadig, mange tak!

  17.   sarah sagde han

    Bạn co thể hướng dẫn cách loại bỏ các dòng trùng lặp của nhiều file text trong Linux or Windows được không? Cũng như trường hợp của bạn, khi tôi tạo file từ đ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òng trùng lặp giữa Các file. 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ì only bỏ 2 dòng giống file 1 .
    Như bạn biết co 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 từ điển rất ư là nhiều ký, chẳng hạn như Rockyou. Thực tế tôi muốn thực hiện điều này bên Windows hơn, và chắc chắn ko thể gộp chúng ở bên Windows được. 🙂 Hy vọng nhận được phản hồi từ bạn!