Odstráňte duplicitné riadky zo súboru

Tvorím slovník najpoužívanejších hesiel, populárnych alebo najčastejšie používanými používateľmi (... nepýtaj sa prečo ... HAHAHA), Na tento účel beriem text z iných slovníkov atď., Ale ocitol som sa v situácii, že existuje veľa duplicitných hesiel, a musím duplicitné riadky odstrániť.

To je napríklad ... máme nasledujúci súbor: pass.txt

A jeho obsah je:

asdasd
lola
milovať
asdasd
okná
admin
linux
asdasd
milovať

 Ako vidíme, opakovali sme «milovať»Y«asdasd«, Posledné trikrát. Ako odstrániť duplicitné riadky?

Je to jednoduché pomocou tohto príkazu:

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

Týmto sa vygeneruje súbor s názvom pass-ready.txt ktorý bude obsahovať:

admin
asdasd
linux
lola
milovať
okná

Príkaz robí VEĽMI jednoduché ...

  1. mačací pas.txt - »Vypísať obsah súboru.
  2. druh - »Zoradiť obsah podľa abecedy.
  3. jedinečný - »Eliminovať duplicitné riadky.
  4. > pass-ready.txt - »Výsledok predchádzajúcich príkazov, vložte do súboru pass-ready.txt (ktorý, keďže neexistuje, ho vytvorí)

Je to také jednoduché ... práve som zistil, že ten príkaz druh áno, je to veľmi dobré ... ale spolu s jedinečný, sú klenotom umenia 😀

Dúfam, že ste boli nápomocní.

pozdravy

Tapeta: Ak si chcete stiahnuť tapetu «Milujem #! / Bin / bash»Tu je odkaz:

Stiahnite si tapetu

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Carlos dijo

    Môžete tiež použiť sort -u.

    Gratulujem k blogu, veľmi sa mi páči!

    1.    KZKG ^ Gaara dijo

      Áno, správne.
      Nič, ďakujem pekne za komentár 😀

      Vitajte 😉
      pozdravy

  2.   Diego dijo

    Problém je v tom, že mení poradie slov, funguje to ... ale nakoniec sa výsledok veľmi líši od originálu v poradí (čo možno v niektorých prípadoch záleží)

    1.    KZKG ^ Gaara dijo

      Áno, skutočne, toto usporiada slová podľa abecedy, takže ak bol obsah potrebný BEZ variácií, potom toto riešenie nie je ideálne.

    2.    Carlos dijo

      Neriskujte, čo ak nedáte príkaz na triedenie? prosím, porozmýšľaj trochu viac a nemaj všetko rozhryznuté.

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

      1.    Eliuber dijo

        nefunguje to, skúsil som to

      2.    poskakovať dijo

        nefunguje, pretože „opakované“ riadky musia byť súvislé

  3.   nemenovaný dijo

    vďaka

    je to celkom užitočné

  4.   giskard dijo

    Veľmi dobre! Jednoduché a jasné riešenie. Mám rada také veci 🙂
    Musím sa priznať, že by som niečo urobil v Pythone, ale toto riešenie je v poriadku.

    1.    KZKG ^ Gaara dijo

      vďaka ^ - ^

  5.   Tino dijo

    Ahoj! veľmi dobre!
    Mám dotaz prosím
    fungovalo by to pre nasledujúci príklad:
    ABCD 1111
    DEFG 2222 45455
    ABCD 1111
    DEFG 2222

    Riadky sú rovnaké, ale majú medzery a niekoľko ďalších znakov ... kontroluje sa to na to isté slovo? alebo po linke? Vysvetlím?
    odteraz dakujem pekne.
    Objatí

    1.    KZKG ^ Gaara dijo

      Ahoj, ako to ide
      Ako som videl, porovnáva sa to riadky a nie stĺpce, takže v príklade, ktorý mi dáte, by sa odstránil buď 1. riadok, alebo 3., 2. a 4. riadok, aj keď sú takmer identické, nie sú 100% identické, pretože majú stĺpec rozdielu. 😉

      Ďakujem za komentár ^ - ^

      1.    TINE dijo

        Vďaka tebe!! predtým, ako Oracle trvalo hodinu, aby odstránili duplikáty ... teraz to trvá 30 sekúnd s typom mačiek !!

  6.   MegaBedder dijo

    Vyžadujem to v PHP: S

    1.    KZKG ^ Gaara dijo

      Uff ... Som PHP, som veľmi, veľmi krátky, nie som naozaj žiadny programátor 🙁

      Je mi to ľúto

    2.    brunocascio dijo

      Pre php je v oficiálnej dokumentácii PHP pole_unique (...), ktoré obsahuje veľa dôležitých a efektívnych funkcií.

      Pokiaľ ide o druh, pokiaľ to nepotrebujete, nie je to potrebné ... Čas potrebný na vykonanie a pamäť sú zbytočné. (za to, čo sa deje v príspevku)

      Zdravím!

  7.   geek dijo

    Wow !! slovník, ktorý sa použije ako hrubá sila !! XD

  8.   Gustavo dijo

    Veľmi dobrá kombinácia typu s uniq! Veľmi mi pomohlo odstrániť duplicitné riadky.

    vďaka

  9.   Gustavo dijo

    Carlosov komentár napriek svojej arogancii nie je platný. Hovorí, že používa:

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

    podmienkou uniq je však to, že súbor je objednaný. Mali ste o tom premýšľať trochu viac alebo by ste sa mali informovať predtým.

  10.   Eliuber dijo

    veľmi dobré, zachránil si mi veľa času behaním môjho bash

  11.   Flintstones dijo

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    s tým sú linky eliminované bez nutnosti objednávania.

  12.   Miniminiyo. dijo

    Dakujem pekne za prispevok!

    Aj keď by bolo super byť schopný urobiť ho jedinečným bez zmeny poradia, ale hej, ľahký a užitočný príkaz!

  13.   Felipe Gutierrez dijo

    Ďakujem, veľmi mi to pomohlo 😉

  14.   Ernesto dijo

    mám toto
    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

    Ako dosiahnem, aby do súboru vymaľoval iba duplikáty na jedného predplatiteľa a tie, ktoré nie sú duplikátmi, nechal v inom?

    predplatiteľ je na pozícií 23 (10 pozícií)

  15.   Fernando dijo

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

    Týmto sa súbor zoradí podľa prvého poľa

  16.   Ja som diego dijo

    2020 a stále slúži, ďakujem pekne!

  17.   Sarah dijo

    Chcete čo najskôr vyhľadať viac súborov pomocou programu Linux? Alebo Windows sa vám páči niečo iné? Prihlásiť sa k odberu súborov, khi tôi tạo súbor k dispozícii v chi nội hnoji ra nên Ch kh nhiều súbor v chắc chắn con nhiều dòng trùng lặp giữa Các súbor. 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 .
    Zatiaľ nikto nevie, čo robím, aby som urobil ten súbor, ktorý som si vybral, že budem mať iný text, ale ten bude mať iný text a ja budem mať Rockyou. Teraz môžete navštíviť viac ako Windows a získať viac informácií o ďalších službách Windows. 🙂 Pred niekoľkými dňami!