Можно ли использовать sed для изменения цвета фона вкладок (или любого другого текста), чтобы, например, я мог запустить что-то вроде следующего?
somefunction | sed -e 's/(some pattern)/(set bg color)\1(unset bg color)/g'
Да
#!/bin/bash norm_bg=$(tput sgr0) red_bg=$(tput setab 1) echo -e "foo\tbar\tbaz" | sed "s/\t/$red_bg $norm_bg/g"
См. Эту ссылку для других цветовых кодов (очень низ)
Вы можете вставить раскрашивание непосредственно в ваш sed скрипт:
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 .
+ 1 для olibre.
Это также работает на osx и linux, bash и zsh с использованием extquote .
echo My name is Chad. | sed -e 's/Chad/\'$'\033[31m&\033[(B\033[m/'