Voici donc le script, rien de révolutionnaire, je n’invente rien, que des trucs que j’essaie d’adapter :
#!/bin/bash # Recherche une chaîne de caractères dans tous les fichiers odt ou ods # de façon récursive depuis le lieu de recherche. # Syntaxe : # nomduscript.sh "chaîne à rechercher" (sans guillemets). # Répondre à la première question par odt ou ods # Fonctionne partiellement avec doc ou xls ???? # Pour limiter la rechercher mettre le chemin absolu... # exemple : "/home/user/Documents" (sans les guillemets). # Pour une recherche depuis l'endroit où se trouve le script # il suffit de taper un point "." (sans les guillemets). echo "Dans quelle type de fichier penses-tu chercher ?" echo -n "Saisir le type de fichier (odt ou ods) : " read exten echo -n "Saisir le chemin de départ : " read chemin find $chemin -type f -name "*.$exten" | while read i do [ "$1" ] || { echo "Bah ! Tu as oublié de mettre le mot recherché..." ; exit 1 ; } unzip -ca "$i" 2>/dev/null | grep -iq "$*" if [ $? -eq 0 ] then echo "j'ai trouvé ton mot dans $i" | nl fi done echo "J'ai terminé mon travail !"
chmod +x search_mot.sh
./search_mot.sh taxodiaceae
Le script va demander l’extension de fichier (odt ou ods) sachant que vous pouvez mettre doc ou xls mais avec un résultat moins probant… et je n’ai pas d’explication… Mais testez...
Puis il sera demandé le chemin de départ. Il s’agit du chemin absolu.
Donc soit la racine "/", soit votre home "/home/user/"… Ou un autre chemin pou serrer au plus prêt la recherche. Mais il doit être absolu et partir de la racine /
Bon assez parlé et mon exemple avec les résultats en lançant le script plus le mot clé (ici taxodiaceae) :
./search_mot.sh taxodiaceae Dans quelle type de fichier penses-tu chercher ? Saisir le type de fichier (odt ou ods) : odt Saisir le chemin de départ : /home/sima78/ 1 j'ai trouvé ton mot dans /home/sima78/Documents/Bota/fiche/chryptomeria.odt 1 j'ai trouvé ton mot dans /home/sima78/Documents/Bota/cle_identif/chryptomeria_japonica .odt 1 j'ai trouvé ton mot dans /home/sima78/Documents/Bota/noms-familles/taxodiaceae.odt 1 j'ai trouvé ton mot dans /home/sima78/Documents/Bota/in-situ/chryptomeria_japonica.odt 1 j'ai trouvé ton mot dans /home/sima78/Documents/Bota/coniferes.odt 1 j'ai trouvé ton mot dans /home/sima78/Documents/Pedago/parcours/anim-0018.odt J'ai terminé mon travail !
Derniers commentaires