Souvent, j'ai un nom de fichier et son chemin partiel, par exemple "content / docs / file.xml".
Existe-t-il un moyen simple de rechercher ce fichier sans couper manuellement son nom en plusieurs parties pour fournir le nom de répertoire et le nom de fichier séparément?
Ce serait génial si find
je travaillais de cette façon, je pouvais donc courir find content/docs/file.xml
, mais malheureusement ce n’est pas le cas.
linux
command-line
search
find
slhck
la source
la source
find -path *content/docs/file.xml
a travaillé pour moi.Réponses:
Transmettez un
*
caractère générique pour indiquer une correspondance avec quoi que ce soit . Vous devez également échapper au*
s, par exemple:ou mettez le motif entre guillemets, par exemple:
Comme le décrit la page de manuel:
la source
find a aussi une option -wholename
find $top_dir -wholename *string*
la source
ou juste
la source
Par exemple, rechercher des fichiers dans un emplacement à l'aide d'un astérisque / caractère générique (
*
) en tant que:dir=“/apps/*/instance01/"
vous pouvez utiliser find${dir} -name “*.jks”
. mettre tous les fichiers dans un tableau comme celui-ci:si vous voulez obtenir des fichiers avec d'autres extensions, utilisez 'ou' comme ceci:
-name "*.keystore" -o -name "*.jks" -o -name “*.p12"
parce-name
que n'accepte qu'une seule chaîne, utilisez donc 'ou'.Enfin, mettez tout dans un tableau comme ceci:
Si vous avez des chemins complets et non des chemins partiels, il est beaucoup plus facile de les placer dans des tableaux comme celui-ci:
la source