2017-08-04 1 views
2

Comment trouver les fichiers de façon récursive avec un modèle de texte excluant certains répertoires et fichiers?Script Shell - Comment trouver les fichiers ayant de manière récursive un modèle de texte excluant certains répertoires et fichiers

Example:- 
$ ls 
bower.json  bower_components configure  results   unit-tests 

donc je dois trouver "searchText" récursive dans tous les répertoires à l'exception bower.json et résultats

+0

Utilisez une méthode de https://stackoverflow.com/q/4210042/798223 puis utilisez l'indicateur -exec pour grep sur ces fichiers. – GKFX

+0

Pourriez-vous s'il vous plaît fournir la commande exacte? Cela ne fonctionne pas. find -name "* .js" -not -path résultats – nagendra547

+1

'find -type f -not -path './bower.json' -not -path './results/*' -exec grep 'searchString' - ' {} '+ ', mais la réponse de @ RomanPerekhrest est meilleure. – GKFX

Répondre

2

court solution grep:

grep -r --exclude="bower.json" --exclude-dir="results" "searchText" 
+0

Merci cela a fonctionné. Juste une chose mineure. Vous devez mettre le point (.) En dernier. grep -r --exclude = "bower.json" --exclude-dir = "résultats" "reset-device". – nagendra547

+0

@ nagendra547, bienvenue, point '.' est prévu par défaut – RomanPerekhrest