免费注册 查看新帖 |

Chinaunix

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

[文本处理] Bash大牛帮忙看看下面Sed语句的意思 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-03-20 10:54 |只看该作者 |倒序浏览
在一个Bash脚本中有下面一条语句

sed -ie "s#password=.*\$#password=$ENCRYPT_PASS#" /usr/local/horizon/conf/runtime-config.properties

其中ENCRYPT_PASS是一个变量,请帮忙这个语句是哟干什么的,说是替换吧,又没用“/”。

论坛徽章:
0
2 [报告]
发表于 2015-03-20 10:57 |只看该作者
就是替换啊。因为文本中含有“/”,所以替换代码中的“/”改为“#”了

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
3 [报告]
发表于 2015-03-20 11:04 |只看该作者
password=.*\$匹配的部分换成password=$ENCRYPT_PASS

论坛徽章:
0
4 [报告]
发表于 2015-03-20 11:08 |只看该作者
回复 2# 54nwq


非常感谢,    确实被替换文本中包含/符号, 我还真不知道如果被替换文本中包含/还可以用其他符号来代替,刚才也快速查下和Sed相关的正则表达式语法,也没看到,看还得去鸟哥上看看了。

另外我的“.*\$”这个语句代表什么意思?.*好像代表0到n个任意字符,但加上后面的是什么意思?

论坛徽章:
0
5 [报告]
发表于 2015-03-20 11:16 |只看该作者
回复 3# 我是一隻羊


谢谢回复,如果我把变量ENCRYPT_PASS变成用文本文件的内容来替换,这个语句怎么改?谢谢

   

论坛徽章:
0
6 [报告]
发表于 2015-03-20 11:19 |只看该作者
回复 4# polestar_li


你文本中有“$”字符,这是用“\”来转义,直接用“$”就表示行尾了

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
7 [报告]
发表于 2015-03-20 12:08 |只看该作者
本帖最后由 我是一隻羊 于 2015-03-20 12:09 编辑

sed表达式中调用变量可以
  1. sed 's/'$oldstr'/'$newstr'/' inputfile
复制代码
或者
  1. sed "s/$olestr/$newstr/" inputfile
复制代码
注意引号的区别.

论坛徽章:
0
8 [报告]
发表于 2015-03-22 08:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP