Uklonite duplikate linija iz datoteke

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

Drugim riječima, na primjer ... imamo sljedeću datoteku: pass.txt

A njegov sadržaj je:

asdas
lola
ljubav
asdas
prozori
admin
linux
asdas
ljubav

 Kao što vidimo, ponovili smo «ljubav"Y"asdas«, 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 koja se zove pass-ready.txt koji će sadržati:

admin
asdas
linux
lola
ljubav
prozori

Naredba je VRLO jednostavna ...

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

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

Nadam se da ste bili od pomoći.

Saludos

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

Download pozadina

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Carlos rekao je

    Takođe možete koristiti sort -u.

    Čestitam na blogu, sviđa mi se!

    1.    KZKG ^ Gaara rekao je

      Da, tačno.
      Ništa, puno vam hvala na komentaru 😀

      Dobrodošli 😉
      Saludos

  2.   Diego rekao je

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

    1.    KZKG ^ Gaara rekao je

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

    2.    Carlos rekao je

      Ne zajebavajte se, šta ako vam padne na pamet da ne date naredbu za sortiranje? molim te razmisli malo više i nemoj da se sve prežvaka.

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

      1.    Eliuber rekao je

        ne radi, probao sam

      2.    bob rekao je

        ne radi jer "ponovljeni" redovi moraju biti kontinuirani

  3.   neimenovan rekao je

    hvala

    vrlo je korisno

  4.   giskard rekao je

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

    1.    KZKG ^ Gaara rekao je

      hvala ^ - ^

  5.   stvarno rekao je

    Zdravo! veoma 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? Objašnjavam?
    od sada, puno vam hvala.
    Zagrljaj

    1.    KZKG ^ Gaara rekao je

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

      Hvala na komentaru ^ - ^

      1.    Tino rekao je

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

  6.   MegaBedder rekao je

    Potreban mi je u PHP: S

    1.    KZKG ^ Gaara rekao je

      Uff ... Ja sam PHP, jako sam, jako nizak, nisam baš programer 🙁

      Žao mi je

    2.    brunocascio rekao je

      Za php postoji array_unique (...) u službenoj PHP dokumentaciji pronaći ćete mnoge važne i efikasne 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 urađeno u postu)

      Pozdrav!

  7.   štreber rekao je

    Wow !! rječnik za upotrebu kao grubu silu !! XD

  8.   Gustavo rekao je

    Vrlo dobra kombinacija sort sa uniq! Puno mi je pomoglo da uklonim duplikate linija.

    hvala

  9.   Gustavo rekao je

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

    cat 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 rekao je

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

  11.   Kremenci rekao je

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    ovim se linije uklanjaju bez naručivanja.

  12.   miniminime rekao je

    Hvala vam puno na doprinosu!

    Iako bi bilo super kad bismo to mogli učiniti jedinstvenim bez promjene redoslijeda, ali hej, lagana i korisna naredba!

  13.   Felipe Gutierrez rekao je

    Hvala, puno mi je pomoglo 😉

  14.   ernesto rekao je

    Imam ovo
    C000006158880201502051056088364 C00-06158880
    C000007601673201503051056088364 C00-07601673
    C000008659304201504051056088364 C00-08659304
    T 0809074070562015120818144287185REAÑO RUBIÑOS EMILIA DORIS
    T 0809092979972016010818144287185REAÑO RUBIÑOS 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 na poz 23 (10 pozicija)

  15.   fernando rekao je

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

    Ovo sortira datoteku po prvom polju

  16.   Ja sam diego rekao je

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

  17.   Sarah rekao je

    Da li ste u mogućnosti da sačuvate loš račun, da li želite da otvorite tekst datoteke u Linuxu ili Windowsu? 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 file txt đó lại với nhau, vì những text file từ điển rất ư là nhiều ký, chẳng hạn như Rockyou. Ovo je najprikladnije za Windows operativni sistem, čak i za rad sa Windowsom. Hy vọng nhận được phản hồi từ bạn!