• [^] # Re: Lit tes cours / demande à ton prof ?

    Posté par (site web personnel) . En réponse au message Script pour vérifier si une chaîne de caractère existe dans le magic number. Évalué à 2. Dernière modification le 24 juillet 2019 à 17:01.

    Non pas exactement, j'ai 53 ans. J'ai un vieux PC que j'ai récupéré. Je voudrais voir tous les scripts qui existent un peu partout et contrôler si certains peuvent poser des problèmes. Voilà le but de ma démarche.

    Ok désolé

    Il y a juste la ligne du "then find" qui ne fonctionne pas.

    ce n'est pas le problème principal de ton script, il est pensé à l'envers et incorrect même dans son test initial.

    Je vais assumer que les quotes dans << 'xxd -l 0x06 ~/Desktop/test.sh' >> sont une erreur de saisie ici

    Tu a écris:

    • Si j'extrais les 6 premiers octets du fichier ~/Desktop/test.sh que j'envoi à find (qui n'en a rien à faire) auquel je demande de chercher des fichier et d'executer grep sur ces fichiers pour rechercher la chaine "00000000:" dans les fichiers 2321, 2f62, 696e et le fichier trouvé
      • Alors je cherche tout les fichiers .sh dans /home/user et je les copies dans /home/user/Desktop/dossierFinal

    Voila a peu prêt comment ce traduit ton script initial.

    Tu as déjà une proposition de solution, une autre serait:

    find $path -type f -exec /bin/sh -c "xxd -l 6 -ps {} | grep -q 23212f62696e && echo {}" \;

    => find recherche tout les fichiers
    je lui dit pour chaque résultat de lancer un shell qui va executer "xxd" pour convertir les 6 premiers octets en hexa, sous un format condensé car pas besoin d'autre chose que la data brute, le résultat va être envoyé à grep et si ça match la chaine souhaitée le nom du fichier sera affiché.

    Il suffirait de remplacer 'echo' par la commande de copie.