工作中,需要对数据文件进行检测。看是否符合规定要求。
如,我生成的数据文件字段间采用0x06进行分割。记录之间,采用回车换行进行分割(一条记录占一行)。一行共有29个字段。
因此我只要判断每一行中,采用0x06进行分割后,字段列是否为29即可。如果小于29则肯定数据有问题。将其行号,
字段列数输出,即可。经过网上摸索,使用如下语句:
awk -F '[\06]' '{ i=1;while(i
使用上述语句,即可对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;
}
阅读(3136) | 评论(2) | 转发(0) |