Uklonite duplicirane retke iz datoteke

Izrađujem rječnik najčešće korištenih lozinki, popularnih ili najčešće korištenih od korisnika (... Ne pitajte zašto ... HAHAHA), zbog toga uzimam tekst iz drugih rječnika itd., ali, nalazim se u situaciji da postoji mnogo dupliciranih lozinki i moram ukloniti duplicirane retke.

To je, na primjer ... imamo sljedeću datoteku: pass.txt

A njegov sadržaj je:

asdasd
Lola
ljubav
asdasd
prozori
admin
Linux
asdasd
ljubav

 Kao što vidimo, ponovili smo «ljubav»Y«asdasd«, Posljednji 3 puta. Kako ukloniti duplikate linija?

Pomoću ove naredbe to je jednostavno učiniti:

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

Ovo će generirati datoteku pod nazivom pass-ready.txt koji će sadržavati:

admin
asdasd
Linux
Lola
ljubav
prozori

Naredba je VRLO jednostavna ...

  1. mačka pass.txt - »Navedite sadržaj datoteke.
  2. vrsta - »Razvrstajte sadržaj po abecedi.
  3. jedinstven - »Uklonite dvostruke linije.
  4. > pass-ready.txt - »Rezultat prethodnih naredbi, stavite ga u datoteku pass-ready.txt (koja će je, kako ne postoji, stvoriti)

To je tako jednostavno ... Upravo sam otkrio tu naredbu vrsta da, vrlo je dobro ... ali, zajedno s jedinstven, dragulj su umjetnosti 😀

Nadam se da ste bili od pomoći.

pozdravi

tapeta: Ako želite preuzeti pozadinu «Volim #! / Bin / bash»Evo poveznice:

Preuzmite pozadinu

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Carlos dijo

    Također možete koristiti sort -u.

    Čestitam na blogu, sviđa mi se!

    1.    KZKG ^ Gaara dijo

      Da baš.
      Ništa, puno hvala na komentaru 😀

      Dobrodošli 😉
      pozdravi

  2.   Diego dijo

    Problem s tim je što mijenja redoslijed riječi, djeluje ... ali na kraju se rezultat puno razlikuje od izvornika po redoslijedu (što je možda u nekom slučaju važno)

    1.    KZKG ^ Gaara dijo

      Da, zaista, ovo poreda riječi po abecedi, pa ako je sadržaj potreban BEZ varijacija, ovo rješenje nije idealno.

    2.    Carlos dijo

      Ne zajebavajte se, što ako ne stavite naredbu za sortiranje? molim te, razmisli malo više i ne daj sve prožvakati.

      mačka pass.txt | uniq> pass-ready.txt

      1.    Eliuber dijo

        ne ide, probao sam

      2.    plovak dijo

        ne radi jer "ponovljeni" redovi moraju biti kontinuirani

  3.   bez imena dijo

    hvala

    sasvim je korisno

  4.   giskard dijo

    Vrlo dobro! Jednostavno i jasno rješenje. Sviđaju mi ​​se takve stvari 🙂
    Moram priznati da bih učinio nešto u Pythonu, ali ovo je rješenje u redu.

    1.    KZKG ^ Gaara dijo

      hvala ^ - ^

  5.   talenat dijo

    Zdravo! vrlo dobro!
    Imam upit, molim
    to bi mi odgovaralo za sljedeći primjer:
    ABCD 1111
    DEFG 2222 45455
    ABCD 1111
    DEFG 2222

    Redovi su isti, ali imaju razmake i još nekoliko znakova ... provjerava li to istu riječ? ili linijom? Ja objašnjavam?
    od sada, puno vam hvala.
    Zagrljaj

    1.    KZKG ^ Gaara dijo

      Bok, kako si,
      Kao što sam vidio, ovo uspoređuje linije, a ne stupce, pa bi u primjeru koji mi date ovo uklonilo ili 1. ili 3., 2. i 4. redak, iako su gotovo identični, nisu 100% identični jer imaju stupac razlike. 😉

      Hvala na komentaru ^ - ^

      1.    ZUBAC dijo

        Zahvaljujući tebi!! prije nego što je satu trebalo da Oracle ukloni duplikate ... sada treba 30 sekundi za sortiranje mačaka !!

  6.   MegaBedder dijo

    Potreban mi je u PHP: S

    1.    KZKG ^ Gaara dijo

      Uff ... Koristim PHP jer sam jako, jako nizak, nisam zapravo programer

      Žao mi je.

    2.    brunocascio dijo

      Za php postoji array_unique (...) u službenoj PHP dokumentaciji pronaći ćete mnoge važne i učinkovite funkcije.

      Što se tiče sortiranja, osim ako vam je potrebna, nije potrebno ... Vrijeme izvršenja i memorija se troše. (za ono što je učinjeno u postu)

      Pozdrav!

  7.   štreber dijo

    Wow !! rječnik za upotrebu kao gruba sila !! XD

  8.   Gustavo dijo

    Vrlo dobra kombinacija sort with uniq! Puno mi je pomoglo ukloniti duplikate linija.

    hvala

  9.   Gustavo dijo

    Carlosov komentar, unatoč svojoj aroganciji, nije valjan. Kaže da se koristi:

    mačka pass.txt | uniq> pass-ready.txt

    međutim preduvjet uniq-a je da je datoteka naručena. Trebali ste malo više razmisliti o tome ili se informirati prije.

  10.   Eliuber dijo

    vrlo dobro, uštedjeli ste mi puno vremena radeći moj bash

  11.   Kremenci dijo

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    s tim se linije uklanjaju bez potrebe za naručivanjem.

  12.   miniminime dijo

    Hvala vam puno za ulaz!

    Iako bi bilo cool napraviti ga jedinstvenim bez promjene redoslijeda, ali hej, lagana i korisna naredba!

  13.   Felipe Gutierrez dijo

    Hvala, puno mi je pomoglo 😉

  14.   Ernesto dijo

    ja imam ovo
    C000006158880201502051056088364 C00-06158880
    C000007601673201503051056088364 C00-07601673
    C000008659304201504051056088364 C00-08659304
    T 0809074070562015120818144287185REAÑO RUBINOS EMILIA DORIS
    T 0809092979972016010818144287185REAÑO RUBINOS EMILIA DORIS
    C000005398451201501231044214375 C00-05398451
    C000007674996201503051000000286 C00-07674996
    C000008514288201504051000000463 C00-08514288
    C000011613498201506051056088070 C00-11613498

    Kako mogu postići da u datoteci obojim samo duplikate po pretplatniku, a one koji nisu duplikati ostavim u drugoj?

    pretplatnik je u poziciji 23 (10 pozicija)

  15.   Fernando dijo

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

    Ovo sortira datoteku po prvom polju

  16.   Ja sam diego dijo

    2020. i još uvijek služim, puno vam hvala!

  17.   Sarah dijo

    Jeste li surađivali s lošim softverom, ako ste se odlučili za datoteku teksta u Linuxu ili sustavu 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ụ: Datoteka 1 của tôi co 5 dòng, datoteka 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ả, Datoteka 1 vẫn giữ nguyên 5 dòng, Datoteka 2 samo bỏ 2 dòng giống datoteka 1 .
    Như bạn biết co nhiều li do chúng ta ko thể gộp các datoteka txt đó lại với nhau, vì những tekst datoteke 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!