我要整理的答复是:
ServerID响应:142 [90m [39mtestRuntime
我正在尝试通过以下方式设置其格式
ServerID响应:142 testRuntime
我相信[90m和[39是来自另一个CLI工具的一些控制字符,因为当我不添加时,它们会显示为空格。
tr -dc '[:print:]
,然后回显响应。
我已经构建了以下sed命令,但它在testRuntime中删除了另一个M:
tr -dc '[:print:]' | sed 's/[\<\[90m\[39m\>]//g'
只有在整个序列都匹配的情况下,我才能做出包括特殊字符的精确匹配命令吗?
预先感谢
答案 0 :(得分:2)
[\<\[90m\[39m\>]
中的外部方括号形成一个括号表达式,该表达式与其中定义的单个字符匹配。仅删除括号并不能解决问题,因为您正在使用\<
和\>
字边界,因为在{em> any中必须删除[90m[39m
上下文。
使用
sed 's/\[90m\[39m//g'
这将删除一行中任何数量的[90m[39m
,在文件中的所有位置。