Rechercher un fichier dans la liste des répertoires provenant de la sortie d’une autre commande

Je dois trouver l’emplacement d’un fichier. Je ne veux pas chercher dans tout le système, et je sais que le fichier que je recherche se trouve dans un répertoire lié à un paquet donné.

Je voudrais donc find dir -name "filename" > find.out sur chaque find dir -name "filename" > find.out renvoyé par la commande dpkg -L package_name .

Comment je fais ça? Je pense que piping et xargs seraient utiles, mais je ne sais pas comment dire à xargs d’être le répertoire à rechercher dans la commande find .

 find $(dpkg -L package_name) -name "filename" > find.out 

Tu peux faire:

 #!/bin/bash readarray -t DIRS < <(exec dpkg -L package_name) ## Store file list to an array. find "${DIRS[@]}" -name "filename" > find.out ## Search all at once. 

Courir avec

 bash script.sh 

Ou peut-être le faire avec une seule ligne de toute façon:

 readarray -t DIRS < <(exec dpkg -L package_name); find "${DIRS[@]}" -name "filename" > find.out