如何用空格代替子弹符号(八进制值:225,十六进制值:95)?
我尝试了以下命令:
上述命令不起作用。
我尝试了以下命令:
echo '•test' | tr '\225' ' '
echo '•test' | awk '{gsub(/\225/," ");print $0}'
echo '•test' | sed 's/\o225/ /g'
echo '•test' | LANG='' sed 's/\o225/ /g'
echo '•test' | sed 's/\x95/ /g'
上述命令不起作用。
@
作为标记符号,因为在需要替换的内容中经常出现/
,所以选择它作为标记符号并不是一个好的选择。在这种情况下,两者都不存在,所以无论哪种方式都没有什么特别的区别。(在许多情况下,需要选择一个不能在数据内部的标记符号,这使得sed
成为一种很差的工具选择)。 - Charles Duffysed
实现都支持\xnn
转义 - 例如,GNU sed 可以使用,但 BSD/OSX 的sed
不行。根据 POSIX 标准,sed
仅支持 基本 正则表达式,其中序列\x
是 未定义 的 - 请参见 http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_03 - mklement0