Chinaunix

标题: 请教个sed匹配替换的问题 [打印本页]

作者: jlds123    时间: 2013-10-17 16:43
标题: 请教个sed匹配替换的问题
本帖最后由 jlds123 于 2013-10-17 16:47 编辑




用sed怎样将红框内的文字替换成变量? 红框内的文字无规律
作者: yinyuemi    时间: 2013-10-17 16:55
本帖最后由 yinyuemi 于 2013-10-17 16:55 编辑

回复 1# jlds123


    sed "s,\(LogFile="/logs\).*/,\1${var}\","
作者: LikeLx    时间: 2013-10-17 16:55
本帖最后由 LikeLx 于 2013-10-17 16:56 编辑

a=${logfile##*logs/}

作者: lkk_super    时间: 2013-10-17 18:20
  1. sed -r "s/[^\/]+$/${var}/"
复制代码

作者: 关阴月飞    时间: 2013-10-17 18:27
回复 1# jlds123
  1. basename ${LogFile}   
复制代码

作者: blackold    时间: 2013-10-17 20:14
bash:
  1. $ v=foobar

  2. $ log="log/file"

  3. $ echo ${log//\/*/\/$v}
  4. log/foobar
复制代码

作者: LikeLx    时间: 2013-10-18 11:02
回复 5# 关阴月飞


  LZ说红框里的没有规律,如果有www.baidu.com/123/asdasds.log ,你这个语句就不好用了。顺便问下高手,你这语句basename起到什么作用?
作者: 关阴月飞    时间: 2013-10-18 11:42
回复 7# LikeLx


取文件名,就是取最右边/后的内容。   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2