Используйте sed, чтобы добавить цвет фона на вкладки? - PullRequest
6 голосов
/ 07 апреля 2011

Можно ли использовать sed для изменения цвета фона вкладок (или любого другого текста), чтобы, например, я мог запустить что-то вроде следующего?

somefunction | sed -e 's/(some pattern)/(set bg color)\1(unset bg color)/g'

Ответы [ 3 ]

6 голосов
/ 07 апреля 2011

Да

#!/bin/bash

norm_bg=$(tput sgr0)
red_bg=$(tput setab 1)

echo -e "foo\tbar\tbaz" | sed "s/\t/$red_bg    $norm_bg/g"

См. Эту ссылку для других цветовых кодов (очень низ)

terminal

4 голосов
/ 20 сентября 2012

Вы можете вставить раскрашивание непосредственно в ваш sed скрипт:

echo -e "foo\tbar\tbaz" | sed 's/\t/\o033[41m    \o033[0m/g'

Объяснение:

  • установить фон красным = \o033[41m или\x1B[41m или \c[[41m
  • сбросить цвета = \o033[0m или \x1B[0m или \c[[0m

Вы также можете прочитать похожие вопросы / ответы:
Экранирование символа '\' в строке замены в выражении sed .

Для получения дополнительной информации о цветовых кодах см. Arch wiki .

3 голосов
/ 03 июля 2013

+ 1 для olibre.

Это также работает на osx и linux, bash и zsh с использованием extquote .

echo My name is Chad. | sed -e 's/Chad/\'$'\033[31m&\033[(B\033[m/'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...