免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2031 | 回复: 5
打印 上一主题 下一主题

awk如何实现不定列处理? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-12 11:56 |只看该作者 |倒序浏览
现在有个需求,在Oracle中查询出表字段列表如下:

=========================================================
合同号 a a z                                       CHAR(19)
现房标志  daa                                      CHAR(1)
一手房标志                                         CHAR(1)
建筑面积                                           NUMBER(15)
交房日期                                           DATE
二套以上住房标志                                   CHAR(1)
购置标志                                           CHAR(1)
币种                                               CHAR(3)
购买总价 点对点                                           NUMBER(15)
首付款                                             NUMBER(15)
时间戳                                             TIMESTAMP(6)
扩展标志位                                         VARCHAR2(300)
=================================================
要求输出为:
合同号 a a z                                     |  CHAR(19)
现房标志  daa                                    |  CHAR(1)
一手房标志                                       |  CHAR(1)
建筑面积                                         |  NUMBER(15)
交房日期                                         |  DATE
二套以上住房标志                                 |  CHAR(1)
购置标志                                         |  CHAR(1)
币种                                             |  CHAR(3)
购买总价 点对点                                         |  NUMBER(15)
首付款                                           |  NUMBER(15)
时间戳                                           |  TIMESTAMP(6)
扩展标志位                                       |  VARCHAR2(300)


====================================================
即源文件最后一列肯定是显示字段类型,字段名称可能有部分字段包括空格。请教有啥办法没有?
(由于字段部分按照空格来做分割符,是一个不定的列)

论坛徽章:
0
2 [报告]
发表于 2009-10-12 12:02 |只看该作者
sed 's/[^ \t]*$/|  &/' file

论坛徽章:
0
3 [报告]
发表于 2009-10-12 12:05 |只看该作者
awk '{$NF="|  "$NF;print}' file

论坛徽章:
0
4 [报告]
发表于 2009-10-12 12:35 |只看该作者

回复 #3 lucash 的帖子

多谢了,很好用

论坛徽章:
0
5 [报告]
发表于 2009-10-12 12:36 |只看该作者

回复 #2 lucash 的帖子

很好用,还要进一步领会朋友的经典用法

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
6 [报告]
发表于 2009-10-12 20:49 |只看该作者
awk基础。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP