免费注册 查看新帖 |

Chinaunix

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

[文本处理] awk '{print $1}'显示两列的内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-06 16:06 |只看该作者 |倒序浏览
用一个简单的shell脚本得到一个广西文件FS_list.txt

#!/bin/ksh
sqlplus -s '/ as sysdba' <<- !
spool FS_list.txt
select tablespace_name,file_name, autoextensible, user_bytes/(1024*1024) userMB, maxbytes/(1024*1024) maxMB
from dba_data_files d where 2=2  $TS_STR order by 1,2;
spool off
!


au11qap580tels2:KCAT01P:/ora/admin#cat FS_list.txt
TABLESPACE_NAME      FILE_NAME                                                                       AUT               USERMB            MAXMB
--------------------     ------------------------------------------------------------    --------          ----------      ----------
CAT_USERS_TBL        /ora/CAT/data001/KCAT01P/KCAT01Pcat_users_tbl01.dbf       NO                5999.9375          0
                                 /ora/CAT/data001/KCAT01P/KCAT01Pcat_users_tbl05.dbf       NO                5119.9375          0
                                /ora/CAT/data002/KCAT01P/KCAT01Pcat_users_tbl02.dbf        NO                6999.9375          0
                                /ora/CAT/data004/KCAT01P/KCAT01Pcat_users_tbl04.dbf        NO                2047.9375          0
                                /ora/CAT/data005/KCAT01P/KCAT01Pcat_users_tbl03.dbf        NO                6999.9375          0


想用awk取第一列,但它显示第一列和第二列的内容
au11qap580tels2:KCAT01P:/ora/admin#cat FS_list.txt |awk '{print $1}'

TABLESPACE_NAME
--------------------
CAT_USERS_TBL
/ora/CAT/data001/KCAT01P/KCAT01Pcat_users_tbl05.dbf
/ora/CAT/data002/KCAT01P/KCAT01Pcat_users_tbl02.dbf
/ora/CAT/data004/KCAT01P/KCAT01Pcat_users_tbl04.dbf
/ora/CAT/data005/KCAT01P/KCAT01Pcat_users_tbl03.dbf

为什么啊


论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2014-10-06 16:14 |只看该作者
如果使用缺省的FS, awk将忽略行首的'空格'

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
3 [报告]
发表于 2014-10-06 22:13 |只看该作者
如果你这种情况,最好还是用数据库的方法解决。

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22摩羯座
日期:2014-10-10 17:43:02水瓶座
日期:2014-10-16 01:00:22
4 [报告]
发表于 2014-10-07 04:34 |只看该作者
学生党:包....夜玩耍中~无聊简单python写一下~

  1. $ cat yhsafe.py
  2. #!/usr/bin/env python
  3. #-*- coding:utf-8 -*-
  4. "process oracle select result file - just for fun!"

  5. import linecache as lc
  6. import re
  7. from sys import argv

  8. pattern=re.compile(r'(\w+)?\s+(.*\.dbf)')
  9. if len(argv[1:])==1:
  10.         for line in lc.getlines(argv[1]):
  11.                 m=re.match(pattern,line)
  12.                 if m:
  13.                         print m.group(2)
复制代码
测试:
$ ./yhsafe.py yhsafe.txt
/ora/CAT/data001/KCAT01P/KCAT01Pcat_users_tbl01.dbf
/ora/CAT/data001/KCAT01P/KCAT01Pcat_users_tbl05.dbf
/ora/CAT/data002/KCAT01P/KCAT01Pcat_users_tbl02.dbf
/ora/CAT/data004/KCAT01P/KCAT01Pcat_users_tbl04.dbf
/ora/CAT/data005/KCAT01P/KCAT01Pcat_users_tbl03.dbf
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP