今天需要用到cat+grep的方式得到文件中的一些特定内容,文件中明明是有这些内容的,但无论怎样操作,结果都为空。
vi 2.log:
然后cat 2.log | grep usb,结果居然是空的。
后来在windows下,把文本中的内容拷贝出来,再创建一个新文件,cat+grep能得到结果。这个时候就想到原因了,是由于编码格式的问题导致的。这个文件是在xshell中生成的日志文件,编码格式设置的不是utf-8,导致了这个问题,后来将文件改为utf-8编码就正常了。
在linux下查看和更改编码格式,可以使用file -i filename和iconv函数来进行转换。
这个问题也不算什么大问题,但有时候遇到有些脚本之前用的好好的,到了处理这样的文件时,脚本计算的结果就不对了,会怀疑脚本有问题,就要稍微折腾一会儿。