AWK使用实例
2012-11-08 14:44
281 查看
有这么些记录,大概2000W条:
1909290281,aa,aa,,&aa.,aa,1909290281,11,13,8,,,tp2.sinaimg.cn/1909290281/50/0/1,0,,"2632861870,1728104535,1894638220,1774978073,1839047245,2033895032,1769871333,1909308537,1909363617"
由于导入hive后是根据逗号进行字段分割的,而双引号内的数据不应该给分割,因此需要对双引号内的逗号进行替换。
使用AWK脚本为:
BEGIN{
print "start weibo analyse!"
FS="\""
}
{
result=""
for(i=1;i<NF;i++){
if( i%2 == 0 ){
gsub(",",";",$i)
result=result"\""$i"\""
}else{
result=result$i
}
}
print result
}
EDN{
print "end weibo analyse!"
}
这样能正确处理数据,但是效率太差。
1909290281,aa,aa,,&amp;aa.,aa,1909290281,11,13,8,,,tp2.sinaimg.cn/1909290281/50/0/1,0,,"2632861870,1728104535,1894638220,1774978073,1839047245,2033895032,1769871333,1909308537,1909363617"
由于导入hive后是根据逗号进行字段分割的,而双引号内的数据不应该给分割,因此需要对双引号内的逗号进行替换。
使用AWK脚本为:
BEGIN{
print "start weibo analyse!"
FS="\""
}
{
result=""
for(i=1;i<NF;i++){
if( i%2 == 0 ){
gsub(",",";",$i)
result=result"\""$i"\""
}else{
result=result$i
}
}
print result
}
EDN{
print "end weibo analyse!"
}
这样能正确处理数据,但是效率太差。
相关文章推荐
- awk使用 第7部分 awk对多行数据的处理实例
- awk的使用实例
- Linux中sed和awk的使用及其相关实例解析
- Linux中sed和awk的使用及其相关实例解析
- AWK简介及使用实例
- awk的使用 第六部分 awk编程的几个实例
- awk使用实例一则
- awk使用实例
- awk使用实例详解
- Linux中sed和awk的使用及其相关实例解析
- awk使用的实例
- shell awk 使用实例 awk 合并行
- AWK使用实例
- 几个awk的使用实例
- shell 中awk的实例使用
- awk使用实例说明
- Linux日志查看(8)— awk 命令(使用实例)
- jQuery EasyUI 选项卡面板tabs使用实例精讲
- python字典创建和使用实例详解
- BizTalk学习笔记系列之二:实例说明如何使用BizTalk