Rimuovi le righe duplicate da un file

Sto realizzando un dizionario delle password più utilizzate, quelle più diffuse o più utilizzate dagli utenti (... Non chiedere perché ... HAHAHA), per questo sto prendendo testo da altri dizionari ecc., ma mi trovo nella situazione in cui ci sono molte password duplicate e devo eliminare le righe duplicate.

Cioè, ad esempio ... abbiamo il seguente file: pass.txt

E il suo contenuto è:

asdasd
lola
amore
asdasd
finestre
Admin
linux
asdasd
amore

 Come si vede, abbiamo ripetuto «amore"E"asdasd«, Quest'ultimo 3 volte. Come rimuovere le linee duplicate?

Farlo è semplice, con questo comando:

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

Questo genererà un file chiamato pass-ready.txt che conterrà:

Admin
asdasd
linux
lola
amore
finestre

Quello che fa il comando è MOLTO semplice ...

  1. gatto pass.txt - »Elenca il contenuto del file.
  2. sorta - »Ordinare il contenuto in ordine alfabetico.
  3. uniq - »Elimina le righe duplicate.
  4. > pass-ready.txt - »Il risultato dei comandi precedenti, inseriscilo nel file pass-ready.txt (che, poiché non esiste, lo creerà)

È così semplice ... Ho appena scoperto che il comando sorta sì, è molto buono ... ma, insieme a uniq, sono un gioiello d'arte 😀

Spero tu sia stato utile.

saluti

Wallpaper: Se vuoi scaricare lo sfondo «Amo #! / Bin / bash"Ecco il link:

Scarica lo sfondo

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Carlos suddetto

    Puoi anche usare sort -u.

    Congratulazioni per il blog, lo adoro!

    1.    KZKG ^ Gaara suddetto

      Si, come no.
      Niente, grazie mille per aver commentato 😀

      Benvenuto 😉
      saluti

  2.   Diego suddetto

    Il problema è che cambia l'ordine delle parole, funziona ... ma alla fine il risultato differisce molto dall'originale nell'ordine (che forse in alcuni casi è importante)

    1.    KZKG ^ Gaara suddetto

      Sì, in effetti, questo ordina le parole in ordine alfabetico, quindi se il contenuto era necessario SENZA variazioni, questa soluzione non è quella ideale.

    2.    Carlos suddetto

      Non scherzare, e se non metti il ​​comando di ordinamento? per favore pensa ancora un po 'e non masticare tutto.

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

      1.    Eliuber suddetto

        non funziona, l'ho provato

      2.    peso suddetto

        non funziona perché le righe "ripetute" devono essere continue

  3.   senza nome suddetto

    grazie

    è abbastanza utile

  4.   Giskard suddetto

    Molto buona! Una soluzione semplice e chiara. Mi piacciono le cose del genere 🙂
    Devo ammettere che avrei fatto qualcosa in Python ma questa soluzione va bene.

    1.    KZKG ^ Gaara suddetto

      grazie ^ - ^

  5.   abilità suddetto

    Ciao! molto buona!
    Ho una domanda per favore
    funzionerebbe per me per il seguente esempio:
    ABCDE 1111
    DEFG2222
    ABCDE 1111
    DEFG2222

    Le righe sono le stesse ma hanno spazi e qualche carattere in più ... verifica la stessa parola? o per linea? Io spiego?
    d'ora in poi ti ringrazio tantissimo.
    Un abbraccio

    1.    KZKG ^ Gaara suddetto

      Ciao a tutti,
      Come ho visto, questo confronta le righe e non le colonne, quindi nell'esempio che mi dai questo rimuoverebbe la prima riga o la terza, la seconda e la quarta riga, sebbene siano quasi identiche, non sono identiche al 1% perché hanno una colonna di differenza. 😉

      Grazie per il commento ^ - ^

      1.    TINO suddetto

        Grazie a te!! prima che oracle impiegasse un'ora per eliminare i duplicati ... ora ci vogliono 30 secondi con l'ordinamento del gatto !!

  6.   Megaletto suddetto

    Lo richiedo in PHP: S

    1.    KZKG ^ Gaara suddetto

      Uff ... sono PHP, sono molto, molto basso, non sono davvero un programmatore 🙁

      Mi dispiace.

    2.    brunocascio suddetto

      Per php c'è array_unique (...) nella documentazione ufficiale di PHP troverai molte funzioni importanti ed efficienti ..

      Per quanto riguarda l'ordinamento, a meno che non sia necessario, non è necessario ... Tempo di esecuzione e memoria sono sprecati. (per quello che si fa nel post)

      Saluti!

  7.   geek suddetto

    Wow !! un dizionario da usare come forza bruta !! XD

  8.   Gustavo suddetto

    Molto buona la combinazione di sort con uniq! Mi ha aiutato molto a rimuovere le linee duplicate.

    grazie

  9.   Gustavo suddetto

    Il commento di Carlos, nonostante la sua arroganza, non è valido. Dice di usare:

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

    tuttavia, un prerequisito di uniq è che il file sia ordinato. Avresti dovuto pensarci un po 'di più o informarti prima.

  10.   Eliuber suddetto

    molto bene, mi hai risparmiato un sacco di tempo eseguendo il mio bash

  11.   Flintstones suddetto

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    con questo le linee vengono eliminate senza dover ordinare.

  12.   minimini suddetto

    Grazie mille per il contributo!

    Anche se sarebbe bello poterlo rendere unico senza cambiare l'ordine, ma ehi, un comando facile e utile!

  13.   Felipe Gutierrez suddetto

    Grazie, mi ha aiutato molto 😉

  14.   ernesto suddetto

    ho questo
    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

    Come faccio a dipingere solo i duplicati per iscritto in un file e lasciare quelli che non sono duplicati in un altro?

    l'abbonato è in posizione 23 (10 posizioni)

  15.   Fernando suddetto

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

    Questo ordina il file in base al primo campo

  16.   Sono Diego suddetto

    2020 e ancora in servizio, grazie mille!

  17.   sarah suddetto

    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 o 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ặ file.a Các 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ì solo 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!