使用sed添加背景颜色到标签?

是否可以使用sed来更改制表符(或任何其他文本)的背景颜色,例如,我可以运行类似于以下内容的东西?

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

Solutions Collecting From Web of "使用sed添加背景颜色到标签?"

是:

 #!/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脚本中插入颜色:

 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维基 。

+1为olibre。

这也适用于osx和linux,bash和zsh使用extquote 。

 echo My name is Chad. | sed -e 's/Chad/\'$'\033[31m&\033[(B\033[m/'