Якщо я правильно зрозумів, ви хочете зберегти висновок терміналу в текстовому файлі, правда? Але ви хочете, щоб він був відформатований кольорами. Якщо це так, ось мої ідеї:
Виділення виводу автоматично
Як ви, напевно, знаєте, якщо ви захоплюєте вихід греп у текстовий файл, саме тому, що це текстовий файл, його неможливо форматувати. Отже, наскільки я знаю, ви не можете зробити це просто.
Незважаючи на це, існує просте вирішення, яке полягає в тому, щоб зрозуміти своєму текстовому редактору, який саме файл відкривається. Наприклад, скажімо, що ваш греп-вихід має деякі компоненти bash, тому bash highlights працює для вас (до речі, це часто кольори, які ви бачите на кольоровому виході в терміналі). Тож хитрість полягає в збереженні виводу тексту у файл із належним розширенням. Замість того, щоб робити щось на кшталт:
ls | grep something > output
ви можете піти
ls | grep something > output.sh
Що змусить gedit (або будь-якого пристойного редактора тексту) автоматично визнати, що ви говорите про баш-код, і підкреслить його відповідно. Не потрібно забарвлювати вихід, програма зробить це за вас, якщо він розпізнає тип коду, який він відкриває. Якщо ви працюєте з іншими типами форматів, просто адаптуйте розширення до того, що краще налаштовується на те, на що ви вдягаєте (наприклад,> output.xml,> output.html,> output.py ... тощо). Удачі! :)
Виділення деяких слів у вихідному файлі
Отже, якщо я це отримав, ви хочете виділити слова, які ви шукали. Знову ж таки, це неможливо зробити у простому текстовому файлі лише тому, що це звичайний текст. Однак ви можете додати до нього якийсь формат дуже простим способом, наприклад, використовуючи кодування HTML. Це перетворить ваш вихід у HTML-код, і коли ви відкриєте його за допомогою програми, здатної інтерпретувати html (libreoffice Writer, firefox та 10000 etceteras), ви побачите деякі слова з виділеним словом.
Для цього скажімо, що це ваша grep, експортована в html:
ls | grep keytext > output.html
А тепер ви хочете виділити текстовий текст у своєму висновку. Ви можете використовувати sed для цього, наприклад:
sed -i 's/keytext/<font color="red">keytext<\/font>/g' output.html
І віола, тепер ваш ключовий текст виділений червоним кольором.