免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4079 | 回复: 13
打印 上一主题 下一主题

这个文档该怎么筛选啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-03 09:14 |只看该作者 |倒序浏览
某文档内容如下:
TABLE APPROVAL_STAGE LASTACTIONUSERID NUMBER(10) DEFAULT NULL NULL
TABLE ARCHIVE_PROJECT_CONFIG WHERECONDITION VARCHAR2(256) DEFAULT 'D.JOBID=J.JOBID ' NOT NULL
TABLE COMPANY_HK DUNS_NUMBER NUMBER(15,0) NULL
TABLE COMPANY_TW DUNS_NO NUMBER(15,0) NULL
TABLE PARTY_MEMBER USERTYPE VARCHAR2(11) NULL
TABLE PRODUCT_VERSION_CI BOM CLOB(4000) NULL
TABLE PRODUCT_VERSION_TAG DETAIL CLOB(4000) NULL
TABLE RESOURCES_PROP VALUESTR NVARCHAR2(3800) NULL
VIEW ACTIONS_WITH_RISK_ISSUE_V JOBID NUMBER(10) NOT NULL
VIEW ACTIONS_WITH_RISK_ISSUE_V OWNERID NUMBER(10) NOT NULL
VIEW ACTIONS_WITH_RISK_ISSUE_V OWNERTYPE NVARCHAR2(64) NOT NULL
VIEW BMO_JOB_VIEW ISOUTSOURCING NUMBER(10) NOT NULL
VIEW BUDGET_VIEW ACTUALAMOUNT NUMBER(15,2) NOT NULL
VIEW BUDGET_VIEW APPRAMOUNT NUMBER(38,12) NOT NULL
VIEW BUDGET_VIEW ESTIMATEAMOUNT NUMBER(15,2) NOT NULL
VIEW BUDGET_VIEW PARENTBACTUALID NUMBER(10) NOT NULL
VIEW BUDGET_VIEW PARENTBUDGETID NUMBER(10) NOT NULL
VIEW BUDGET_VIEW RESERVEAMOUNT NUMBER(38,12) NOT NULL
VIEW BUDGET_VIEW TARGETAMOUNT NUMBER(38,12) NOT NULL
VIEW CAMPAIGN_ACTUALNUM_V ACTUALNUM NUMBER(10) NOT NULL
VIEW CAMPAIGN_REVENUE_V DEALAMOUNT NUMBER(38,9) NOT NULL
VIEW CAMPAIGN_REVENUE_V DEALAMOUNT2 NUMBER(38,9) NOT NULL
VIEW CAMPAIGN_REVENUE_V ORDERAMOUNT NUMBER(38,9) NOT NULL
VIEW CAMPAIGN_REVENUE_V ORDERAMOUNT2 NUMBER(38,9) NOT NULL
VIEW CHANGE_ORDER_V AGE NUMBER(10) NOT NULL
VIEW CO_FIELD_VIEW COFIELDVID VARCHAR2(61) NOT NULL
VIEW CO_LOG_V COMMENTTYPEID NUMBER(10) NOT NULL
VIEW CO_LOG_V FIELDID NUMBER(10) NOT NULL

我想把句首为"VIEW"所在行的括号内的内容全部删除,句首不是"VIEW"所在行的内容不变,这个应该怎么筛选啊?
我写了一句为:
  1. cat file | grep -i '^VIEW\>' | sed 's/(.*)//g'
复制代码
但是这个会把不是VIEW开头的行全部删除,所以无法达到我想要的效果,请帮忙看看有没有比较简单的方式可以达到我想要的效果,谢谢。

论坛徽章:
0
2 [报告]
发表于 2010-07-03 09:42 |只看该作者
sed '/^VIEW/s/(.*)/()/'  file

论坛徽章:
0
3 [报告]
发表于 2010-07-03 10:18 |只看该作者
thank you!
我还用条件语句去判断它

论坛徽章:
0
4 [报告]
发表于 2010-07-03 11:09 |只看该作者
sed '/^VIEW/s/\(\d+,?\d+\)/\(\)/g'

论坛徽章:
0
5 [报告]
发表于 2010-07-03 13:31 |只看该作者
sed '/^VIEW/{s/([0-9,]\+)/()/}' file
or
sed 's/\(^VIEW.*(\).*\().*\)/\1\2/' file

论坛徽章:
0
6 [报告]
发表于 2010-07-03 14:11 |只看该作者
awk -F'[()]' '/^VIEW/{sub($2,"")}1' file

论坛徽章:
0
7 [报告]
发表于 2010-07-04 21:43 |只看该作者
各位,看看我的这个怎么样:

[root@w80286localdomain shellstudy]# cat d.txt
TABLE APPROVAL
TABLE COMPANY
VIEW ACTIONS
VIEW BUDGET
[root@w80286localdomain shellstudy]# sed '/^VIEW/d' d.txt
TABLE APPROVAL
TABLE COMPANY

论坛徽章:
0
8 [报告]
发表于 2010-07-05 08:53 |只看该作者
回复 7# w80286


    答非所问。。

论坛徽章:
0
9 [报告]
发表于 2010-07-05 09:50 |只看该作者
sed '/^VIEW/s#(.*)#()#' c.tmp

论坛徽章:
0
10 [报告]
发表于 2010-07-05 10:03 |只看该作者
sed '/^VIEW/s/([0-9]*\,\?[0-9]*)/()/g'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP