如何将所有以 % 符号开头的线条的颜色更改为红色?

如何将所有以 % 符号开头的线条的颜色更改为红色?

当我使用

sed -i "s,.*%.*,$(tput setaf 1)&$(tput sgr0),g" A.log

整条线消失了,当我使用

sed -i "s,^%.*,$(tput setaf 1)&$(tput sgr0),g" A.log

仅第一个字符 ( %) 变为红色。

我应该怎么办?

编辑:实际上整行并没有消失,我正在使用,more但是当我使用时,less -R 我看到了这个(带有控制 M 字符)和红色的%。

 % Invalid input detected at '^' marker.^M

答案1

像这样的东西?

sed -i "s/^%.*$/$(tput setaf 1)\\0$(tput sgr0)/" A.log 

并用于cat -v file显示内容而不解析颜色。

相关内容