Jeśli dobrze zrozumiałem, chcesz zapisać plik końcowy w pliku tekstowym, prawda? Ale chcesz go sformatować za pomocą kolorów. Jeśli tak jest, oto moje pomysły:
Automatyczne wyróżnianie wyjścia
Jak zapewne wiesz, jeśli przechwycisz wyjście grep do pliku tekstowego, dokładnie dlatego, że jest to plik tekstowy, którego nie można sformatować. O ile mi wiadomo, nie można tego zrobić w łatwy sposób.
Mimo to istnieje proste obejście polegające na uświadomieniu edytorowi tekstu, jaki plik jest otwierany. Na przykład, powiedzmy, że twoje wyjście grep ma jakieś składniki bash, więc podświetlenia bash działają dla ciebie (nawiasem mówiąc, często są to kolory, które widzisz na kolorowym wyjściu w terminalu). Zatem sztuczka polega na zapisaniu tekstu w pliku z odpowiednim rozszerzeniem. Zamiast robić coś takiego:
ls | grep something > output
możesz iść
ls | grep something > output.sh
Co sprawi, że gedit (lub dowolny porządny edytor tekstu) automatycznie rozpozna, że mówisz o kodzie bash, i odpowiednio go podświetli. Nie musisz pokolorować wyjścia, program zrobi to za Ciebie, jeśli rozpozna typ otwieranego kodu. Jeśli pracujesz z innymi typami formatów, po prostu dostosuj rozszerzenie do tego, by lepiej dostosować się do tego, czego szukasz (np.> Output.xml,> output.html,> output.py ... itd.). Powodzenia! :)
Podświetlanie niektórych słów w pliku wyjściowym
Więc jeśli mam, chcesz podświetlić wyszukiwane słowa. Ponownie, nie można tego zrobić w zwykłym pliku tekstowym tylko dlatego, że jest to zwykły tekst. Możesz jednak dodać do niego jakiś format w bardzo łatwy sposób, na przykład używając kodu HTML. Spowoduje to przekształcenie danych wyjściowych w kod HTML, a kiedy otworzysz je za pomocą programu zdolnego do interpretacji HTML (pisarz libreoffice, Firefox i 10000 itp.), Zobaczysz kilka słów wyróżnionych.
Aby to zrobić, powiedzmy, że to twój grep, eksportowany do HTML:
ls | grep keytext > output.html
A teraz chcesz podświetlić tekst klucza w wynikach . Możesz użyć sed, aby to zrobić, na przykład:
sed -i 's/keytext/<font color="red">keytext<\/font>/g' output.html
I viola, teraz Twój tekst klucza jest wyróżniony na czerwono.