LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 931|回复: 3

sed中取()里值的问题.[解决]

[复制链接]
发表于 2007-1-28 00:53:22 | 显示全部楼层 |阅读模式
RT .. 比如说这样一个正则  sed -e -n '/\(xxx.*fff\)/p'  我知道\1可以取到()里匹配到的值但不明白应该怎么写...? 谢谢.
发表于 2007-1-28 07:00:07 | 显示全部楼层
不知道是不是这个意思

  1. [0 No.2017 huan@huan ~]$ echo 123 | sed 's/\(1\)\(2\)\(3\)/\1/'
  2. 1

  3. [0 No.2018 huan@huan ~]$ echo 123 | sed 's/\(1\)\(2\)\(3\)/\2/'
  4. 2

  5. [0 No.2019 huan@huan ~]$ echo 123 | perl -lne ' print $1 if /(1)(2)(3)/ '
  6. 1

  7. [0 No.2020 huan@huan ~]$ echo 123 | perl -lne ' print $2 if /(1)(2)(3)/ '
  8. 2

  9. [0 No.2021 huan@huan ~]$

复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-28 10:20:49 | 显示全部楼层
比如说 sed -e -n '/\(xxx.*fff\).*\(x.*f\)/p' 我想取出第二个括号里匹配的值来..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-28 11:54:38 | 显示全部楼层
解决,谢谢huan兄,原来把第二个括号里匹配的内容替换整行就可以了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表