Je peux trouver le contenu dans tous les fichiers appelés valeurs.YAML avec p>
Mais je voudrais seulement trouver les valeurs.YAML dans les dossiers appelés "étage", donc chemin / bla / bla / étage / valse.yaml p>
J'ai ma meilleure approche avec ça p>
Le problème est que le dossier de scène est parfois au niveau 4, quelqu'un au niveau 3 ou 5, etc ... je voudrais faire quelque chose comme ça, mais ne fonctionne pas p>
Il y a un moyen de le faire quel que soit le niveau où se trouve le dossier de scène? P>
Merci beaucoup! p> trouver. -Name valeurs.YAML | Xargs Grep -re Port -e Cible --Color Code> P>
trouver ./*/*/*/stage/ -Name valse.YAML | Xargs Grep -re Port -e Cible --Color Code> P>
trouver ./**/stage/ -Name valeurs.YAML | Xargs Grep -re Port -e Cible --Color Code> P>
4 Réponses :
Il est probablement plus facile à utiliser ou, plus précisément: p> -regex code>:
ou même valeurs \ .YAML code>
@choroba, bonne prise. Cela correspond également incorrectement des chemins tels que ./ scène / foobues.yaml code>
Utiliser -Path code> est beaucoup plus approprié. Je ne sais pas si je devrais supprimer cette réponse: il semble être utile, mais ne doit pas être accepté.
Peut-être sur cette voie? P>
trouver. -Name Stage -Type D -exec Trouver {} -Name valse.YAML \; | Xargs Grep -re Port -e Cible --Color Code> P>
Vous pouvez trouver la recherche de correspondre au chemin:
find -path '*/stage/*' -name values.yaml
OK, qui dit: p> cavalier scriptor code>: un test a fonctionné super, un différent n'est jamais revenu. Je soupçonne que le mauvais est spécifique à quelque chose sur mon ordinateur portable, mais faites vos propres tests et ne perdez pas de temps sur quelque chose qui est trop lent.
Apparemment, quelque chose mit un lien symbolique récursif quelque part. Cela devrait être assez sûr autrement.
Pas exactement ce que vous demandez, mais en supposant que vous écriviez un script, que diriez-vous d'écrire cela dans ZSH au lieu de baster et d'accéder simplement aux fichiers par
** / valse / valse.yaml code>?