grep如何在不同编码格式的文件中查找中文

如题,工程目录中有文件是utf-8格式有些是gb2312格式,使用secureCRT连接到开发机上grep中文时只能找出部分文件。

求解决方法,谢谢。


已解决,方法如下:

  1. 假设要查找字的是中文,查找到它的utf-8编码和gb2312编码分别是E4B8ADE69687D6D0CEC4这里可查询到)
  2. 使用grep:grep -rnP "\xE4\xB8\xAD\xE6\x96\x87|\xD6\xD0\xCE\xC4" *即可
阅读 23.4k
2 个回答

已解决,方法如下:

  1. 假设要查找字的是中文,查找到它的utf-8编码和gb2312编码分别是E4B8ADE69687D6D0CEC4这里可查询到)
  2. 使用grep:grep -rnP "\xE4\xB8\xAD\xE6\x96\x87|\xD6\xD0\xCE\xC4" *即可

还要查询太麻烦了,用 iconv 直接搞定(下面的方法只查找gb2312的'中文')

grep -rn "`iconv 中文 -f utf8 -t gb2312`"
推荐问题