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