Partage
  • Partager sur Facebook
  • Partager sur Twitter

grep dans des fichiers .rar

Sujet résolu
    16 mai 2021 à 20:17:48

    Bonjour,

    J'ai un dossier qui contient énormément de fichiers .rar (et quelques fichiers .zip). Ces archives contiennent des fichiers .txt.

    Je voudrais trouver une chaîne de caractères bien précise qui est dans l'un de ces fichiers texte, et je voudrais que ça fouille dans tous les fichiers .rar, mais j'ignore comment procéder.

    J'ai tenter ceci :

    grep -ricn "chainedecaractere" *
    zgrep -icn "chainedecaractere" *

    Ni l'un ni l'autre ne fonctionne. Vous avez une idée ?

    Merci par avance !

    • Partager sur Facebook
    • Partager sur Twitter
      17 mai 2021 à 6:14:24

      Bonjour,

      RAR est un format de fichier propriétaire, je doute que zgrep fonctionne avec.

      Il existe unrar (décompression seulement) et rar pour traiter ces fichiers.

      De là, je vois deux solutions:

      • avec l'option -i de rar:
      rar -i="foo" archive.rar
      • en décompressant avec unrar:
      tmpDir=$(mktemp -d) # crée un dossier temporaire
      unrar x archive.rar "$tmpDir" # extraction dans le dossier temporaire
      grep -r "foo" "$tmpDir"
      rm -rf "$tmpdir"

      -
      Edité par KoaTao 17 mai 2021 à 6:17:29

      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2021 à 0:22:43

        Je ne suis pas fan de ce format mais pour le coup je n'ai pas eût le choix :-/

        J'ai isolé manuellement la dizaine de fichiers .zip et je les ai déplacé dans un autre dossier, décompression manuelle, etc.

        Pour les .rar, comme j'en avais littéralement plus de 22 000, j'ai utilisé ce bout de code que j'ai mis dans un bash (c'est plus propre) :

        #!/bin/bash
        
        for f in *.rar
        do
        	unrar -y e "$f"
        done

        Après j'ai supprimer les .rar proprement avec une ligne :

        rm -R *.rar

        Et j'ai fais mes recherches avec grep : c'était des fichiers .txt donc ça passait sans problème.

        PI, l'argument -y de la commande unrar permet de valider automatiquement la demande de décompression, sinon on à la demande "voulez-vous vraiment décompresser etc.", et il faut saisir à chaque fois "y" et appuyer sur la touche entrer... Bref on automatise à 100%.

        Merci pour ton aide KoaTao, tu m'as encore mis sur la bonne voie ! :-)

        • Partager sur Facebook
        • Partager sur Twitter
          24 mai 2021 à 14:41:43

          de nos jours, les zips deviennent rar :)
          Désolé , je ne peux pas trop t'aider
          • Partager sur Facebook
          • Partager sur Twitter

          On estime à environ 550 millions le nombre d'armes à feu actuellement en circulation. Autrement dit il y a un homme sur douze qui est armé sur cette planète. La seule question c'est … comment armer les onze autres ?

          grep dans des fichiers .rar

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown