知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

使用AWK进行数据文件的检测

发布时间:2014-09-05 14:45:29作者:知识屋

使用AWK进行数据文件的检测
 
  工作中,需要对数据文件进行检测。看是否符合规定要求。
     如,我生成的数据文件字段间采用0x06进行分割。记录之间,采用回车换行进行分割(一条记录占一行)。一行共有29个字段。
 
因此我只要判断每一行中,采用0x06进行分割后,字段列是否为29即可。如果小于29则肯定数据有问题。将其行号,
字段列数输出,即可。经过网上摸索,使用如下语句:
awk -F '[/06]' '{ i=1;while(i<NF) {i++} if(i<29) {print FNR, NF;}}' 20130426152118_ALL112INFO.TXT 
 
使用上述语句,即可对20130426152118_ALL112INFO.TXT数据文件,进行检测。
如果数据不正确,会将行号,字段列数打印出来,然后在确定bug所在。
找到bug。解决bug也就迎刃而解了。很简单,过滤掉回车换行,即可。使用如下代码进行过滤:
 
    //对null值进行屏蔽,返回空字符串
    private String getString(String strInfo){
        String result = "";
        if( null != strInfo && !"".equals(strInfo)){
            Pattern p = Pattern.compile("/t|/r|/n");
            Matcher m = p.matcher(strInfo);
            result = m.replaceAll(""); //将制表符,回车,换行符过滤掉
        }
        
        return result;
    }    
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜