删除bash中的特殊字符



我有一个变量"文本";其包含值CCD_ 1Hex-values : 49 4E B4 45 4E 4A 45 52 49 4E 47我想删除特殊字符B4

现在,如果我使用命令删除一个正则字符(例如"I"(

text=$(printf "$text" | sed "s/x49/ /g")

该命令运行良好

Result  : text=N▒ENJER NG

如果我想删除特殊字符,它似乎不起作用

text=$(printf "$text" | sed "s/xB4/ /g")  
Result : IN▒ENJERING 

知道怎么了吗?

这可能对你有用(GNU sed(:

sed 's/o342o226o222/ /g' file

要查找八进制表示,请使用:

<<<"IN▒ENJERING" sed -n l
IN342226222ENJERING$

然后替换每个八进制字符前缀o并用作模式匹配。

最新更新