Lorsque vous utilisez la commande Grep pour rechercher une chaîne de recherche dans un ensemble de fichiers, existe-t-il un moyen de transférer les résultats dans un fichier texte?
Existe-t-il également un commutateur pour la commande Grep qui fournit des résultats plus nets pour une meilleure lisibilité, tel qu'un saut de ligne entre chaque entrée?
Il existe peut-être un script grep
qui génère des résultats plus nets.
Merci
grep -n "YOUR SEARCH STRING" * > output-file
Le -n
imprimera le numéro de ligne et le >
redirigera les résultats de grep vers le fichier de sortie.
Si vous voulez "nettoyer" les résultats, vous pouvez les filtrer à l'aide du tuyau |
, par exemple:grep -n "test" * | grep -v "mytest" > output-file
correspondra à toutes les lignes portant la chaîne "test", à l'exception des lignes correspondant à la chaîne "mytest" (le commutateur -v
) - et redirigera le résultat vers un fichier de sortie.
Quelques bons conseils de grep peuvent être trouvés sur ce post
La redirection de la sortie du programme est effectuée par le shell.
grep ... > output.txt
grep
ne dispose pas de mécanisme pour ajouter des lignes vides entre chaque correspondance, mais fournit des options telles que le contexte autour de la ligne correspondante et la colorisation de la correspondance elle-même. Voir la page de manuel grep(1)
pour plus de détails, en particulier les options -C
et --color
.