SED 替换 @{EE3F}

SED 替换 @{EE3F}
echo "2018/06/12 18:34:58 (TEAM) * @{EE3F}name says: @{BBFF}umm" | sed -e 's/@{EE3F}//g' | sed -e 's/@{BBFF}//g'

有效,但无效:

echo "2018/06/12 18:34:58 (TEAM) * @{EE3F}name says: @{BBFF}umm" | sed -e 's/@{[A-Z0-9]}//g'

我做错了什么?搜索了很久,却没有得到任何提示。

答案1

[A-Z0-9]仅匹配给定类型的一个字符。[A-Z0-9]\+如果您的 sed 实现支持,请使用、[A-Z0-9]\{1,\}[A-Z0-9][A-Z0-9]*,即该类型的一个或多个字符。

您还可以使用 POSIX 类[:alnum:]而不是列出字符范围(但它也匹配小写字符),或者[:xdigit:]仅匹配十六进制数字。

相关内容