Fjern dupliserte linjer fra en fil

Jeg lager en ordbok over de mest brukte passordene, de mest populære eller ofte brukte av brukerne (... Ikke spør hvorfor ... HAHAHA), for dette tar jeg tekst fra andre ordbøker osv., men jeg befinner meg i den situasjonen at det er mange dupliserte passord, og jeg må eliminere duplikatlinjene.

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

Og innholdet er:

asdasd
lola
elsker
asdasd
vinduer
admin
linux
asdasd
elsker

 Som vi ser har vi gjentatt «elsker»Y«asdasd«, Sistnevnte 3 ganger. Hvordan fjerne dupliserte linjer?

Å gjøre det er enkelt, med denne kommandoen:

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

Dette vil generere en fil som heter pass-ready.txt som vil inneholde:

admin
asdasd
linux
lola
elsker
vinduer

Hva kommandoen gjør er veldig enkelt ...

  1. kattpass.txt - »Liste innholdet i filen.
  2. Sorter - »Sorter innholdet alfabetisk.
  3. unik - »Fjern dupliserte linjer.
  4. > pass-ready.txt - »Resultatet av de forrige kommandoene, legg det i filen pass-ready.txt (som, da den ikke eksisterer, vil skape den)

Det er så enkelt ... Jeg oppdaget nettopp at kommandoen Sorter ja, det er veldig bra ... men sammen med unik, de er en juvel av kunst 😀

Jeg håper du har vært behjelpelig.

Hilsen

Bakgrunn: Hvis du vil laste ned bakgrunnsbilde «Jeg elsker #! / Bin / bash"Her er lenken:

Last ned bakgrunnsbilde

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Carlos sa

    Du kan også bruke sorter -u.

    Gratulerer med bloggen, jeg elsker det!

    1.    KZKG ^ Gaara sa

      Ja sikkert.
      Ingenting, tusen takk for at du kommenterer 😀

      Velkommen 😉
      Hilsen

  2.   Diego sa

    Problemet med det er at det endrer rekkefølgen på ordene, det fungerer ... men til slutt skiller resultatet seg mye fra originalen i rekkefølgen (som kanskje i noen tilfeller betyr noe)

    1.    KZKG ^ Gaara sa

      Ja, dette ordner ordene alfabetisk, så hvis innholdet var nødvendig UTEN variasjoner, er ikke denne løsningen den ideelle.

    2.    Carlos sa

      Ikke skru rundt, hva om du ikke legger sorteringskommandoen? Vennligst tenk litt mer og ikke ha alt tygget opp.

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

      1.    Eliuber sa

        det virker ikke, jeg prøvde det

      2.    bob sa

        fungerer ikke fordi "gjentatte" linjer må være kontinuerlige

  3.   ikke navngitt sa

    takk

    det er ganske nyttig

  4.   giskard sa

    Veldig bra! En enkel og tydelig løsning. Jeg liker sånne ting 🙂
    Jeg må innrømme at jeg ville ha gjort noe i Python, men denne løsningen er bra.

    1.    KZKG ^ Gaara sa

      Takk ^ - ^

  5.   tino sa

    Hallo! veldig bra!
    Jeg har et spørsmål
    det ville fungere for meg for følgende eksempel:
    ABCD 1111
    DEFG 2222 45455
    ABCD 1111
    DEFG 2222

    Radene er de samme, men de har mellomrom og noen få tegn til ... ser dette etter det samme ordet? eller etter linje? Jeg forklarer?
    fra nå av takker jeg veldig mye.
    En klem

    1.    KZKG ^ Gaara sa

      Hei, hvordan har du det?
      Som jeg så, sammenligner dette linjer og ikke kolonner, så i eksemplet du gir meg vil dette fjerne enten 1. linje eller 3., 2. og 4. linje, selv om de er nesten identiske, er de ikke 100% identiske fordi de har en forskjellskolonne. 😉

      Takk for kommentaren ^ - ^

      1.    TINE sa

        Takket være deg!! før det tok en time for orakel å eliminere duplikater ... nå tar det 30 sekunder med kattesorten !!

  6.   MegaBedder sa

    Jeg trenger det i PHP: S

    1.    KZKG ^ Gaara sa

      Uff ... Jeg bruker PHP fordi jeg er veldig, veldig kort, jeg er egentlig ikke programmerer

      Jeg beklager

    2.    brunocascio sa

      For php er det array_unique (…) i den offisielle PHP-dokumentasjonen. Du finner mange viktige og effektive funksjoner ..

      Når det gjelder typen, er det ikke nødvendig med mindre du trenger det ... Utførelsestid og minne er bortkastet. (for det som gjøres i innlegget)

      Greetings!

  7.   nerd sa

    Wow !! en ordbok å bruke som brute force !! XD

  8.   Gustavo sa

    Veldig bra kombinasjonen av sort med uniq! Det hjalp meg mye å fjerne dupliserte linjer.

    Takk

  9.   Gustavo sa

    Til tross for arrogansen er Carlos kommentar ikke gyldig. Han sier å bruke:

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

    En forutsetning for uniq er imidlertid at filen er bestilt. Du burde ha tenkt på det litt mer eller informert deg om før.

  10.   Eliuber sa

    veldig bra, du sparte meg mye tid på å kjøre meg

  11.   Flintstones sa

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    med dette elimineres linjene uten å måtte bestille.

  12.   minimum sa

    Tusen takk for bidraget!

    Selv om det ville være kult å kunne gjøre det unikt uten å endre rekkefølgen, men hei, en enkel og nyttig kommando!

  13.   Felipe Gutierrez sa

    Takk, det hjalp meg veldig 😉

  14.   ernesto sa

    jeg har dette
    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 male duplikater per abonnent i en fil og legge de som ikke er duplikater i en annen?

    abonnenten er i pos 23 (10 posisjoner)

  15.   Fernando sa

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

    Dette sorterer filen etter det første feltet

  16.   Jeg er Diego sa

    2020 og serverer fremdeles, tusen takk!

  17.   sarah sa

    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!