免费注册 查看新帖 |

Chinaunix

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

请教:awk 正则表达式的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-22 11:00 |只看该作者 |倒序浏览
请教:awk 正则表达式的问题
sh编程 (#!/bin/sh)


文件testfile中有下面三行内容:
===========================================
#DATABASE_ENTITY_LIST:     [DEFAULT: "SAMPL: defect"]
      &SetConfigParm("DATABASE_ENTITY_LIST",
                     "teCMG:defect");
============================================

要求: 替换 ":defect");"字符串之前的内容. eg:  "teCMG:defect");   =>  "newvalue:defect");
新的testfile中的内容更换为:


===========================================
#DATABASE_ENTITY_LIST:     [DEFAULT: "SAMPL: defect"]
      &SetConfigParm("DATABASE_ENTITY_LIST",
                     "newvaule:defect");
============================================

尝试了使用awk,正则表达式没有成功.
刚刚开始学习shell编程,请高手指点.多谢!!!!

论坛徽章:
0
2 [报告]
发表于 2010-10-22 11:06 |只看该作者
sed 's/".*\(:defect");\)/"chinaunix\1/' file

论坛徽章:
0
3 [报告]
发表于 2010-10-22 11:06 |只看该作者
本帖最后由 ywlscpl 于 2010-10-22 11:08 编辑

awk '{sub(/"[^"]*:defect");/,"\"newvaule:defect\");")}1' file

论坛徽章:
0
4 [报告]
发表于 2010-10-22 11:21 |只看该作者
回复 2# lkk2003rty


    非常感谢!!
    语句是work的,可是再打开文件的时候, 还是原来的内容.
   
    是否应该将新内容重定向到一个tmpfile中 再mv?
     请详示,谢谢!

论坛徽章:
0
5 [报告]
发表于 2010-10-22 11:22 |只看该作者
回复 3# ywlscpl


    非常感谢!!   
    语句是work的,可是再打开文件的时候, 还是原来的内容.
   
    是否应该将新内容重定向到一个tmpfile中 再mv?

论坛徽章:
0
6 [报告]
发表于 2010-10-22 11:24 |只看该作者
回复 1# thyswallow


    另外,请教一下,
    我以前做perl的编程,现在刚开始接触shell编程.
    请问,可否推荐一些经典教材或者论坛文章, 能尽快ramp up.
    谢谢!

论坛徽章:
0
7 [报告]
发表于 2010-10-22 11:25 |只看该作者
本帖最后由 lkk2003rty 于 2010-10-22 11:26 编辑

回复 4# thyswallow


如果是sed的话   用-i参数即可修改源文件。。
如果是awk的话 重定向 或者 修改awk'语句 加上个print >>"new_file"

论坛徽章:
0
8 [报告]
发表于 2010-10-22 11:28 |只看该作者
回复 7# lkk2003rty


    呵呵,多谢!
   看来需要好好学习一下sed, awk的技巧了.
   非常感谢!周末快乐!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP