如何在 sed 中处理 ANSI 转义序列?

问题描述 投票:0回答:1

带有 ASCII-art 徽标的文件因“rgb-black 前景空间字符”而变得臃肿。 Vim 将它们显示为

^[[38;2;0;0;0m ^[[0m

我可以让 sed 用“常规”空格字符替换它吗?如果可以,如何替换?

sed -i 's/\\033\[38;2;0;0;0m \\033\[0m/ /g' $FILE

在 Bash V5.2.15(最新的 Debian12 x86_64)上无法完成此工作

sed escaping ansi
1个回答
0
投票

因为评论不允许使用:

sed -i 's/
Ctrl-VEsc
\[38;2;0;0;0m 
Ctrl-VEsc
\[0m/ /g' "$FILE"

转义字符对于 sed 来说并不是特殊的,可以直接输入到单引号字符串中。

© www.soinside.com 2019 - 2024. All rights reserved.