Supprimer les lignes en double d'un fichier

Je fais un dictionnaire des mots de passe les plus utilisés, les plus populaires ou les plus fréquemment utilisés par les utilisateurs (… Ne demandez pas pourquoi… HAHAHA), pour cela, je prends du texte d'autres dictionnaires, etc., mais je me trouve dans la situation où il y a beaucoup de mots de passe en double, et je dois éliminer les lignes en double.

En d'autres termes, par exemple ... nous avons le fichier suivant: pass.txt

Et son contenu est:

asdasd
lola
love
asdasd
fenêtres
admin
linux
asdasd
love

 Comme nous le voyons, nous avons répété «love« Et »asdasd«, Ce dernier 3 fois. Comment supprimer les lignes en double?

Pour ce faire, c'est simple, avec cette commande:

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

Cela générera un fichier appelé pass-ready.txt qui contiendra:

admin
asdasd
linux
lola
love
fenêtres

Ce que fait la commande est TRÈS simple ...

  1. chat pass.txt - »Liste le contenu du fichier.
  2. sort - »Trier le contenu par ordre alphabétique.
  3. uniq - ȃlimine les lignes en double.
  4. > pass-ready.txt - »Le résultat des commandes précédentes, placez-le dans le fichier pass-ready.txt (qui, comme il n'existe pas, le créera)

C'est aussi simple que ça ... je viens de découvrir que la commande sort oui, c'est très bien ... mais, avec uniq, ils sont un bijou d'art 😀

J'espère que vous avez été utile.

salutations

Fond d'écran: Si vous souhaitez télécharger le fond d'écran «J'aime #! / Bin / bash"Voici le lien:

Télécharger le fond d'écran

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Carlos dit

    Vous pouvez également utiliser sort -u.

    Félicitations pour le blog, j'adore!

    1.    KZKG ^ Gaara dit

      Oui en effet.
      Rien, merci beaucoup pour vos commentaires 😀

      Bienvenue 😉
      salutations

  2.   Diego dit

    Le problème avec ça c'est que ça change l'ordre des mots, ça marche ... mais à la fin le résultat diffère beaucoup de l'original dans l'ordre (ce qui peut-être dans certains cas compte)

    1.    KZKG ^ Gaara dit

      Oui en effet, cela classe les mots par ordre alphabétique, donc si le contenu était nécessaire SANS variations, cette solution n'est pas la solution idéale.

    2.    Carlos dit

      Ne pas bousiller, et si vous ne mettez pas la commande de tri? réfléchissez un peu plus et ne faites pas tout mâcher.

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

      1.    Eliuber dit

        ça ne marche pas, je l'ai essayé

      2.    grain dit

        ne fonctionne pas car les lignes "répétées" doivent être continues

  3.   non nommé dit

    merci

    c'est assez utile

  4.   giskard dit

    Très bon! Une solution simple et claire. J'aime les choses comme ça 🙂
    Je dois admettre que j'aurais fait quelque chose en Python mais cette solution est bonne.

    1.    KZKG ^ Gaara dit

      merci ^ - ^

  5.   truc dit

    Salut! très bon!
    J'ai une question s'il vous plaît
    cela fonctionnerait pour moi pour l'exemple suivant:
    ABCD1111
    DEFG 2222 45455
    ABCD1111
    DEFG2222

    Les lignes sont les mêmes mais elles ont des espaces et quelques caractères supplémentaires ... cela vérifie-t-il le même mot? ou par ligne? je m'explique?
    à partir de maintenant, je vous remercie beaucoup.
    un câlin

    1.    KZKG ^ Gaara dit

      Bonjour à tous,
      Comme je l'ai vu, cela compare des lignes et non des colonnes, donc dans l'exemple que vous me donnez, cela supprimerait soit la 1ère ligne, soit la 3ème, la 2ème et la 4ème lignes, bien qu'elles soient presque identiques, elles ne sont pas identiques à 100% car elles ont une colonne de différence. 😉

      Merci pour le commentaire ^ - ^

      1.    TINO dit

        Merci a vous!! Avant, il fallait une heure à oracle pour éliminer les doublons ... maintenant il faut 30 secondes avec le tri des chats !!

  6.   MegaBedder dit

    J'en ai besoin en PHP: S

    1.    KZKG ^ Gaara dit

      Uff… J'utilise PHP parce que je suis très, très court, je ne suis pas vraiment un programmeur fr

      Désolé.

    2.    brunocascio dit

      Pour php, il y a array_unique (…) dans la documentation officielle de PHP, vous trouverez de nombreuses fonctions importantes et efficaces.

      Concernant le tri, à moins que vous n'en ayez besoin, ce n'est pas nécessaire ... Le temps d'exécution et la mémoire sont gaspillés. (pour ce qui est fait dans le post)

      Salutations!

  7.   geek dit

    Sensationnel !! un dictionnaire à utiliser comme force brute !! XD

  8.   Gustavo dit

    Très bonne combinaison de tri avec uniq! Cela m'a beaucoup aidé à supprimer les lignes en double.

    merci

  9.   Gustavo dit

    Le commentaire de Carlos, malgré son arrogance, n'est pas valable. Il dit d'utiliser:

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

    cependant, une condition préalable à uniq est que le fichier soit ordonné. Vous auriez dû y réfléchir un peu plus ou vous informer avant.

  10.   Eliuber dit

    très bien, tu m'as fait gagner beaucoup de temps en exécutant ma fête

  11.   Fred silex dit

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    avec cela, les lignes sont éliminées sans avoir à commander.

  12.   minimini dit

    Merci beaucoup pour l'entrée!

    Même si ce serait cool de pouvoir le rendre unique sans changer l'ordre, mais bon, une commande simple et utile!

  13.   Felipe Gutiérrez dit

    Merci, cela m'a beaucoup aidé 😉

  14.   ernesto dit

    J'ai ceci
    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

    Comment puis-je lui faire peindre uniquement les doublons par abonné dans un fichier et laisser ceux qui ne sont pas en double dans un autre?

    l'abonné est en pos 23 (10 positions)

  15.   Fernando dit

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

    Cela trie le fichier par le premier champ

  16.   Je suis diego dit

    2020 et toujours en service, merci beaucoup!

  17.   sarah dit

    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 ou 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ụ : fichier 1 của tôi co 5 dòng, fichier 2 co 15 dòng (co 2 dòng trùng lặp với fichier 1. Tôi muốn co kết quả, fichier 1 vẫn giữ nguyên 5 dòng, fichier 2 thì uniquement bỏ 2 dòng giống fichier 1 .
    Như bạn biết co nhiều li do chúng ta ko thể gộp các fichier txt đó lại với nhau, vì những fichier texte 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 to bạn!