2020-12-05 sed替换行为,与LANG=C

2020-12-05  本文已影响0人  linuxScripter

z@z-O-E-M:~/zworkT400/z-knowledge/zbook$ echo 我 | LANG=C xxd

00000000: e688 910a                                ....

z@z-O-E-M:~/zworkT400/z-knowledge/zbook$ echo 我 |  xxd

00000000: e688 910a 

说明,这个LANG=C加不加,对原始内容,没有改变,但是,它改变的是后续命令对字符的理解。

例如,sed替换时,点号代表一个字符,但,它默认处理utf8编码环境时,一个汉字就是一个字符,是3B的字符。

而,如果用了LANG=C,表示,按ASCII来看,一个字符就是1B,因此,替换的结果就是3个a。

z@z-O-E-M:~/zworkT400/z-knowledge/zbook$ echo 我 | sed 's/./a/g'

a

z@z-O-E-M:~/zworkT400/z-knowledge/zbook$ echo 我 |  LANG=C sed 's/./a/g'

aaa

上一篇 下一篇

猜你喜欢

热点阅读