• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

关于sed命令当中包含变量的坑

迎刃而解 eryajf 11个月前 (12-13) 2041°C 已收录 2个评论
本文预计阅读时间 1 分钟

今天在写脚本时用到了sed命令,其中也学到不少新的东西,特此记录一下。

正确的操作如下所示:

sed "/$1/c $2" a.log > b.log

这里边用到了位置参数变量,是想制作一个可以灵活控制替换内容的脚本,在外部执行脚本的时候首先输入要替换的被匹配的内容,其次是输入替换后的内容。
执行脚本的格式大概这样:

bash aa.sh abc.url  "abc.url=bcd"

在配置文件当中abc.url可能不是bcd,那么通过这个脚本,就能够把他改成bcd了。

这个地方有两个地方要注意的:

  • 1, sed后边是双引号,而不是单引号,如果单引号,则此命令会失败。原因是因为其中含有变量。
  • 2, 这个只是做一个预览式修改,并没有真正更改其中内容,所以需要导出,然后再倒回原文件。

weinxin
扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于sed命令当中包含变量的坑
喜欢 (1)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!

您必须 登录 才能发表评论!

(2)个小伙伴在吐槽
  1. sed -i 就直接可以对源文件操作了
    xiaoxi2019-06-14 14:01 Windows 10 | Firefox浏览器 67.0
    • eryajf
      是的,只不过我这里讲解的注意点是两个位置参数变量的情况下,应该注意的点
      eryajf2019-06-16 10:11 Windows 7 | Chrome 74.0.3729.169