我很沮丧,grep在我的UTF-16文档中找不到像"你好"这样的词.
任何人都可以推荐一个试图猜测文件编码然后正确处理它的grep版本吗?
你肯定想看看ack
.
它支持Unicode编码,基本上是grep,但更好.
如果您使用的是Linux,Unix等,则可能需要将LANG envariable更改为与您的文档匹配的编码.
首先检查您的语言环境.以下是我的MacBook Pro上默认设置的内容:
$ locale LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL=
说,在bash下:
$ LANG="foo" grep 'gotta be found now' file.name
一些更永久的东西(小心这个):
$ export LANG="foo" $ grep 'bar' mitz.vah