%記号で始まるすべての行の色を赤に変更するには?

%記号で始まるすべての行の色を赤に変更するには?

私が使うとき

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

おすすめ記事