Se ho capito bene vuoi salvare un output del terminale in un file di testo, giusto? Ma vuoi che sia formattato con i colori. In tal caso, ecco le mie idee:
Evidenziando automaticamente l'uscita
Come probabilmente saprai, se catturi un output grep in un file di testo, proprio perché è un file di testo non può essere formattato. Quindi, per quanto ne so, non puoi farlo in modo semplice.
Nonostante ciò, esiste una semplice soluzione, che consiste nel far realizzare al tuo editor di testo quale tipo di file si sta aprendo. Ad esempio, supponiamo che l'output di grep abbia alcuni componenti bash, quindi le alte luci bash funzionano per te (a proposito, questi sono spesso i colori che vedi in un output colorato nel terminale). Quindi il trucco è salvare l'output del testo in un file con l'estensione corretta. Invece di fare qualcosa del genere:
ls | grep something > output
potresti andare per
ls | grep something > output.sh
Il che farà riconoscere automaticamente a gedit (o qualsiasi editor di testo decente) che stai parlando di codice bash e lo evidenzierà di conseguenza. Non è necessario colorare l'output, il programma lo farà per te se riconosce il tipo di codice che sta aprendo. Se stai lavorando con altri tipi di formati, basta adattare l'estensione a quella regolazione migliore per ciò su cui stai grepping (ad es.> Output.xml,> output.html,> output.py ... ecc.). In bocca al lupo! :)
Evidenziando alcune parole nel file di output
Quindi, se ho capito, vuoi evidenziare le parole che hai cercato. Ancora una volta, ciò non può essere fatto in un file di testo semplice solo perché è un testo semplice. Tuttavia, è possibile aggiungere un formato ad esso in un modo molto semplice, ad esempio utilizzando un po 'di codice HTML. Questo trasformerà il tuo output in un codice html e quando lo aprirai con un programma in grado di interpretare html (libreoffice writer, firefox e 10000 etceteras) vedrai alcune parole evidenziate.
Per fare questo, supponiamo che questo sia il tuo grep, esportato in HTML:
ls | grep keytext > output.html
E ora vuoi evidenziare il testo chiave nel tuo output. Puoi usare sed per farlo, come:
sed -i 's/keytext/<font color="red">keytext<\/font>/g' output.html
E violà, ora il tuo testo chiave è evidenziato in rosso.