Citation
balteo
find . -type f -name toto.txt | cat
Il m'imprime le nom du fichier et non le contenu.
Là, tu demandes à "cat" d'afficher ce que "find" te renvoie. or, "find" te renvoie un nom de fichier donc tu affiches ce nom => logique
Citation
balteo
locate toto.txt | cat
Il m'imprime rien du tout....
idem message précédent. Tu affiches ce que "locate" te renvoie et "locate" te renvoie rien.
Citation
balteo
Quelqu'un peut t'il me dire où je me trompe?
Dans ta compréhension des pipes.
Un pipe sert juste à renvoyer la sortie standard d'une commande (ce qu'elle
affiche à l'écran) dans l'entrée standard d'une autre (ce qu'elle
attend du clavier)
Exemple: pwd |wc
pwd affiche à l'écran ton répertoire courant, wc compte le nb de caractères arrivant du clavier => ça te donnera le nb de caractères de ton répertoire courant.
Pour résoudre ton pb, la commande "find" possède une option pour lui dire "exécute une commande pour chaque fichier trouvé" donc c'est elle qui s'en occupe. si tu utilisais autre chose que find qui ne puisse pas faire ça (comme "locate"), il faudrait boucler sur chaque fichier donné par la commande, stocker le nom du fichier dans une variable et faire "cat <la variable>" => ex:
locate fichier |while read f
do
....cat $f
done
Cette structure nécessite quand-même un peu de compréhension du shell et des commandes => Cours de shell ici: [
fr.lang.free.fr]
L'homme qui murmurait à l'oreille des pingouins
[
fr.lang.free.fr]
Poste le Wednesday 24 May 2006 23:42:22