Si j'ai bien compris, vous voulez enregistrer une sortie de terminal dans un fichier texte, non? Mais vous voulez qu'il soit formaté avec des couleurs. Si tel est le cas, voici mes idées:
Mise en évidence automatique de la sortie
Comme vous le savez probablement, si vous capturez une sortie grep dans un fichier texte, car il s’agit d’un fichier texte, il ne peut pas être formulé. Donc, pour autant que je sache, vous ne pouvez pas le faire facilement.
Malgré cela, il existe une solution simple, consistant à faire en sorte que votre éditeur de texte réalise le type de fichier qu’il ouvre. Par exemple, disons que votre sortie de grep a des composants bash, donc les mises en évidence de bash fonctionnent pour vous (au fait, ce sont souvent les couleurs que vous voyez dans une sortie colorée dans le terminal). L'astuce consiste donc à enregistrer la sortie de texte dans un fichier avec l'extension appropriée. Au lieu de faire quelque chose comme:
ls | grep something > output
vous pouvez aller pour
ls | grep something > output.sh
Ce qui fera que gedit (ou tout éditeur de texte décent) reconnaîtra automatiquement que vous parlez du code bash, et le mettra en évidence en conséquence. Vous n'avez pas besoin de colorer la sortie, le programme le fera pour vous s'il reconnaît le type de code qu'il ouvre. Si vous travaillez avec d’autres types de formats, adaptez simplement l’extension à ce réglage, en fonction de vos besoins (par exemple, & gt; output.xml, & gt; output.html, & gt; output.py ... etc).
Bonne chance! :)
Mise en surbrillance des mots du fichier de sortie
Donc, si je l'ai eu, vous voulez mettre en évidence les mots que vous avez recherchés. Encore une fois, cela ne peut pas être fait dans un fichier texte, simplement parce que c'est un texte brut. Cependant, vous pouvez y ajouter un format de manière très simple, par exemple en utilisant un codage HTML. Cela transformera votre sortie en un code html, et lorsque vous l'ouvrirez avec un programme capable d'interpréter le HTML (freeoffice writer, firefox et 10000 etceteras), vous verrez quelques mots surlignés.
Pour ce faire, disons que ceci est votre grep, exporté au format html:
ls | grep keytext > output.html
Et maintenant, vous voulez mettre en évidence keytext dans votre sortie. Vous pouvez utiliser sed pour le faire, comme:
sed -i 's/keytext/<font color="red">keytext<\/font>/g' output.html
Et violà, maintenant ton texte est surligné en rouge.