J'utilisais
find -iname *prib*
Et obtenant un seul résultat "./prib09jack.pdf" avec
find -iname "*prib*"
Je reçois beaucoup plus de résultats que je cherchais, comme
./Dir1/PRIB09/prib09jackTFF1.pdf
Et beaucoup d'autres, mais pourquoi importait-il que les guillemets étaient autour de " prib "?
Meilleur.
S'il y a un fichier (ou des fichiers) correspondant à *prib*
dans le répertoire actuel lorsque la commande find est exécutée, le shell va étendre le caractère générique pour correspondre aux noms de fichier avant de remettre les arguments à trouver et entraîner une Différentes commandes exécutées que l'utilisateur attend.
Par exemple,
$ ls foo* foobar $ find -iname foo* ./foobar $ find -iname "foo*" ./foobar ./dir/foobz ./dir2/fooblat
En bref, Quotes supprime l'interprétation de caractères génériques pour la commande de recherche à exécuter. Le manque de devis se développe immédiatement.
Le problème est que votre coque développe les caractères génériques * avant de les remettre à trouver. Vous voulez trouver les obtenir, alors vous devez les échapper. Les citations le font, ou vous pourriez faire
find -iname \*iprib\*
Et cela fonctionnerait aussi. La clé est que vous voulez que les caractères génériques puissent se révéler ininterrompus par toute autre chose en chemin (comme votre coquille).