Chinaunix

标题: 问一个sed中"|"的问题 [打印本页]

作者: undeadboy    时间: 2006-12-18 13:30
标题: 问一个sed中"|"的问题
re中匹配aaa或bbb可以用abc|def
sed中是不是不支持"|"
用sed命令匹配abc或def应该怎么写?
非sed -e '/abc/' -e '/def/' 么?
作者: 一梦如是    时间: 2006-12-18 13:40
  1. echo "abc"|sed -n '/abc\|cde/p'
  2. echo "cde"|sed -n '/abc\|cde/p'
复制代码

[ 本帖最后由 一梦如是 于 2006-12-18 14:12 编辑 ]
作者: Edengundam    时间: 2006-12-18 13:56
sed -r 开启扩展正则表达式就不用 \| 来使用了^_^

to 梦梦...丢了一个 ']' 哈
作者: undeadboy    时间: 2006-12-18 17:51
标题: 回复 2楼 一梦如是 的帖子
谢谢拉,郁闷我好久的问题终于解决了,嘿嘿
作者: 月波无漾    时间: 2006-12-18 18:33
原帖由 一梦如是 于 2006-12-18 13:40 发表
  1. echo "abc"|sed -n '/abc\|cde/p'
  2. echo "cde"|sed -n '/abc\|cde/p'
复制代码

  1. $ echo "abc"|sed -n '/abc\|cde/p'
  2. $ echo "cde"|sed -n '/abc\|cde/p'
  3. $
复制代码


怎么是这个样啊,以前遇到过这样的情况,还没搞清楚到底怎么用。。。
--HP_UX
作者: 一梦如是    时间: 2006-12-18 19:45
gnu的sed和基于SVR4的UNIX系统下默认的sed之间有一些区别。
我现在没有UNIX系统的测试环境

  1. echo "abc"|sed -n '/\(abc\)\|\(cde\)/p'
复制代码

这样可以么?看来是应该多考虑跨平台的问题,gnu工具的扩展实在是多哦




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