find . -type f -name “*.od*” | while read i ; do
[ “$1” ] || { echo “You forgot search string!” ; exit 1 ; }
unzip -ca “$i” 2>/dev/null | grep -iq “$*”
if [ $? -eq 0 ] ; then
echo “string found in $i” | nl
fi
done
J’anticipe l’édit, mais idem qu’au-dessus, il s’agit de double quotes.
Tu lances le programme avec ton motif en argument. Il va chercher dans le dossier courant et ses sous-dossiers.
Je ne comprends pas “ton motif en argument” ni où est spécifié le dossier courant, ni exécuter le programme dans le dossier courant (c’est la partie “dans le dossier courant” que je sais pas comment on fait), mais j’ai sauvegardé le lien et un autre et je pencherai dessus. Bref, je suis un peu stupide en informatique (je le vis bien mais de temps en temps Linux c’est rude pour les gens comme moi).
J’avais oublié le script :/
#!/bin/bash
# Source : https://askubuntu.com/questions/938834/grep-for-text-in-odt-or-doc-files
find . -type f -name “*.od*” | while read i ; do
[ “$1” ] || { echo “You forgot search string!” ; exit 1 ; }
unzip -ca “$i” 2>/dev/null | grep -iq “$*”
if [ $? -eq 0 ] ; then
echo “string found in $i” | nl
fi
done
J’anticipe l’édit, mais idem qu’au-dessus, il s’agit de double quotes.
Tu lances le programme avec ton motif en argument. Il va chercher dans le dossier courant et ses sous-dossiers.
Je ne comprends pas “ton motif en argument” ni où est spécifié le dossier courant, ni exécuter le programme dans le dossier courant (c’est la partie “dans le dossier courant” que je sais pas comment on fait), mais j’ai sauvegardé le lien et un autre et je pencherai dessus. Bref, je suis un peu stupide en informatique (je le vis bien mais de temps en temps Linux c’est rude pour les gens comme moi).
# Pour rendre ton fichier executable
chmod +x fichier
# Pour l’executer
./fichier
# Pour lancer avec un argument / motif
./fichier argument
Dossier courant : dossier ou tu te trouves actuellement (dans ton navigateur de fichiers ou ton shell / terminal)