GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je rechercher un fichier par son nom et son chemin partiel ?

Passez un * caractère générique pour indiquer une correspondance pour n'importe quoi . Vous devez également échapper le * s, par exemple :

find . -path \*content/docs/file.xml

ou placez le modèle entre guillemets, par exemple :

find . -path "*content/docs/file.xml"

Comme le décrit la page de manuel :

$ trouver . -name *.c -print

find :les chemins doivent précéder l'expression

Cela se produit parce que *.c a été développé par le shell, ce qui fait qu'infind reçoit en fait une ligne de commande comme celle-ci :

trouver . -name bigram.c code.c frcode.c locate.c -print

Cette commande ne fonctionnera bien sûr pas. Au lieu de faire les choses de cette façon, vous devriez placer le modèle entre guillemets ou échapper le caractère générique :

$ trouver . -name \*.c -print


find a un -path (ou l'équivalent mais moins portable -wholename ) option aussi find $top_dir -wholename *string*

find /usr -path *in/abiw*

>/usr/bin/abiword

find . -type f | grep "content/docs/file.xml"

ou simplement

locate content/docs/file.xml

Linux
  1. comment trouver le propriétaire d'un fichier ou d'un répertoire en python

  2. Comment puis-je créer un fichier dans chaque dossier ?

  3. Comment combiner find et grep pour une recherche complexe ? ( GNU/linux, trouver, grep )

  4. Comment puis-je imprimer le contenu au lieu du nom de fichier à l'aide de la commande linux find ?

  5. Comment trouver un chemin de répertoire partiel ?

Comprendre les chemins de fichiers et comment les utiliser sous Linux

Comment trouver le nom et la version de la distribution Linux

Comment rechercher et remplacer du texte, un mot ou une chaîne dans un fichier

Comment trouver le nom du processus à partir de son PID

Comment utiliser Sed pour rechercher et remplacer une chaîne dans un fichier

Comment puis-je trouver le fichier le plus ancien dans une arborescence de répertoires