免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: sunsansheng_cu
打印 上一主题 下一主题

文档标签问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-06-16 12:52 |只看该作者
回复  sunsansheng_cu

你是说:
如果原文是的话,修改后应该是么?
yinyuemi 发表于 2011-06-16 12:44


修改后应该是这样的
[A]

select * from xxxxx

;

[/A]
[A]
insert into

;
[/A]

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
12 [报告]
发表于 2011-06-16 12:57 |只看该作者
回复 11# sunsansheng_cu


    好像没问题啊?
  1. echo 'select * from xxxxx
  2. ;insert into
  3. ;
  4. ' |\
  5. awk '/.*;../{sub(";",";\n")}1'|\
  6. awk 'BEGIN{IGNORECASE=1}NR==FNR{a[$1]=1;next}
  7. a[$1]&&!p{$0="[A]\n"$0;p=2}p==2&&/;/{sub(";",";\n[/A]");p=0}1' keyword.txt -
  8. [A]
  9. select * from xxxxx
  10. ;
  11. [/A]
  12. [A]
  13. insert into
  14. ;
  15. [/A]
复制代码

论坛徽章:
0
13 [报告]
发表于 2011-06-16 13:03 |只看该作者
回复  sunsansheng_cu


    好像没问题啊?
yinyuemi 发表于 2011-06-16 12:57



   
[A]
select * from xxxxx
;
[/A]insert into
;

我这里却是这样...奇怪

论坛徽章:
0
14 [报告]
发表于 2011-06-16 13:07 |只看该作者
awk '/.*;../{sub(";",";\n")}1'  |awk 'BEGIN{IGNORECASE=1}NR==FNR{a[$1]=1;next}a[$1]&&!p{$0="[A]\n"$0;p=2}p==2&&/;/{sub(";",";\n[/A]");p=0}1' 语句为这样的时候 不能自动结束,需要按delete才可以结束

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
15 [报告]
发表于 2011-06-16 13:09 |只看该作者
回复 13# sunsansheng_cu


    试试这样?
  1. echo 'select * from xxxxx
  2. ;insert into
  3. ;
  4. ' |\
  5. awk '/;/&&length($0)>1{sub(";","\n;\n")}1'|\
  6. awk 'BEGIN{IGNORECASE=1}NR==FNR{a[$1]=1;next}
  7. a[$1]&&!p{$0="[A]\n"$0;p=2}p==2&&/;/{sub(";",";\n[/A]");p=0}1' keyword.txt -
复制代码

论坛徽章:
0
16 [报告]
发表于 2011-06-16 13:09 |只看该作者
回复  sunsansheng_cu


    好像没问题啊?
yinyuemi 发表于 2011-06-16 12:57



    我试验了一下,如果用echo 输出然后awk判断的话是正常的..

如果放在文本里 就会出现我描述的问题

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
17 [报告]
发表于 2011-06-16 13:12 |只看该作者
回复 16# sunsansheng_cu
  1. dos2unix file

  2. awk '/;/&&length($0)>1{sub(";","\n;\n")}1' file |\
  3. awk 'BEGIN{IGNORECASE=1}NR==FNR{a[$1]=1;next}
  4. a[$1]&&!p{$0="[A]\n"$0;p=2}p==2&&/;/{sub(";",";\n[/A]");p=0}1' keyword.txt -
复制代码

论坛徽章:
0
18 [报告]
发表于 2011-06-16 13:22 |只看该作者
回复  sunsansheng_cu
yinyuemi 发表于 2011-06-16 13:12



    如果我先用
awk '{gsub(/;/,";\n");print}' 1.txt > 3.txt

再用3.txt去判断就OK

论坛徽章:
0
19 [报告]
发表于 2011-06-16 13:38 |只看该作者
回复  sunsansheng_cu
yinyuemi 发表于 2011-06-16 13:12


我感觉前面的一句没有起到效果    awk '/;/&&length($0)>1{sub(";","\n;\n\n")}1' file  我多加了一个回车,但是还是展示不出来.
    awk '/;/&&length($0)>1{sub(";","\n;\n\n")}1' file | awk 'BEGIN{IGNORECASE=1}NR==FNR{a[$1]=1;next}a[$1]&&!p{$0="[A]\n"$0;p=2}p==2&&/;/{sub(";",";\n[/A]");p=0}1' keyword.txt -

论坛徽章:
0
20 [报告]
发表于 2011-06-16 13:43 |只看该作者
OK搞定了 多谢~~~写错了~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP