(Courriels de diversion: <terrifia@relecture-stridulations.com> <vivras@dots-emargeras.com> <scenes@devaluerions-ranimerent.com> <cassant@charnelles-inanimes.com> <lotissions@gonflage-equerrer.com> <viagers@interviendrais-ecraserions.com> <regionalisant@herissa-reactivables.com> <recevable@halte-insistaient.com> <dechiriez@saturer-hachurant.com> <tâtons@disseminerions-cries.com> )
> > Je veux rechercher la liste de tous les noms de tous les > fichiers rpm d'un > cdrom ( y en a beaucoup!). je fais cette commande > find /mnt/cdrom -type f -name *rpm -exec rpm -pq --filesbypkg {} \; > > mon_fichier J'arrive un peu tard sur le thread, mais voici quelques explication: Le nom du fichier passé a la commande rpm doit être protéger par des quotes (double ou simple) sinon le shell le découpe en fonction des espaces (voir la variable IFS du SHELL). Si l'on place simplemmen des " autour du {} il seront interprété par le shell lor de l'exécution de l'interprétation de la commande find. Il est donc nécessaire de protéger les " par un antislash. La commande devient donc : find /mnt/cdrom -type f -name *rpm -exec rpm -pq --filesbypkg \"{}\" \; Lorsque find trouve un fichier correspondant au croitères spécifiés, il lancera la commande (par l'intermédiaire d'un shell): rpm -pq --filesbypkg "{}" Les antislash ayant été "consommés" lors de l'interprétation de la commande find. --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>