Est-ce que quelqu'un sait comment bash je fais une recherche d'un motif A dans un répertoire contenant des fichiers txt et sous-répertoires (que je dois chercher aussi), puis sur les fichiers qui correspondent au modèle A, imprimer le résultat de motif correspondant B?Comment rechercher un motif dans un fichier txt et imprimer le résultat d'un second motif correspondant aux fichiers correspondant au premier motif?
0
A
Répondre
1
Vous pouvez enchaîner vos appels grep à l'aide des canaux |
. Comme ceci:
grep 'Error' file.txt | grep 'Database'
Cet exemple fictif vous donnera tous les messages d'erreur provenant d'un fichier qui sont liés à la base de données.
0
find <BASEDIR>/ -name "*PATTERN_A*" | xargs grep PATTERN_B
Je crois que ce sera réaliser ce que vous cherchez :)
+0
Oui, c'est ce que je cherchais. Je vous remercie –
Questions connexes
- 1. Comment rechercher un motif correspondant en PHP?
- 2. Motif correspondant aux dates/heures?
- 3. Motif correspondant aux balises html
- 4. Motif correspondant dans android
- 5. Motif correspondant dans OCaml
- 6. Motif correspondant dans Simulink
- 7. Motif correspondant dans jQuery?
- 8. Motif correspondant en Javascript
- 9. motif correspondant à
- 10. Motif correspondant dans le schéma
- 11. Comment modifier le motif correspondant
- 12. Motif correspondant à grep
- 13. Motif correspondant au caractère suédois
- 14. F # motif correspondant
- 15. `sed` motif correspondant?
- 16. Java motif répétitif correspondant
- 17. Motif correspondant pour l'égalité
- 18. Motif binaire correspondant Bash
- 19. Motif correspondant C#
- 20. Motif correspondant à Perl
- 21. motif db2 sql correspondant
- 22. Haskell motif correspondant avertissement
- 23. avec motif correspondant à
- 24. Motif correspondant à GHCi
- 25. Motif Correspondant SML?
- 26. Motif d'expression régulière correspondant
- 27. Motif correspondant aux enregistrements dans F #
- 28. Motif correspondant en html
- 29. Motif MySQL-FULLTEXT correspondant
- 30. Cochon Motif correspondant
1) votre exemple ne recherche pas dans les sous-répertoires '', 2) votre exemple ne recherche pas 'sur les fichiers qui correspondent à modèle A'. Pour cela, vous pouvez utiliser xargs, qui prend l'argument de la sortie de la commande précédente et l'envoie à la commande suivante. Donc 'grep -l' vous donnera des noms de fichiers, ceux que vous pouvez envoyer via xargs au prochain grep. – abasu
Confirmé. Mais la question est difficile à comprendre. Savez-vous aussi ce que cela signifie: 'et ensuite sur les fichiers qui correspondent au motif A, imprimez le résultat du motif correspondant B? – hek2mgl
Je pense qu'il a une structure de répertoire où, au niveau aléatoire, n'importe quel fichier peut contenir 2 modèles, il veut trouver ces fichiers. donc mon approche sera 'grep -rl pattern1 * | xargs grep pattern2' ou quelque chose comme ça. fidèle à vos mots :) question n'est pas très claire – abasu