LinuxSir.cn,穿越时空的Linuxsir!

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

求助,关于正则表达式的。

[复制链接]
发表于 2005-12-26 22:05:20 | 显示全部楼层 |阅读模式
个位大哥,帮帮忙。有道题是在一个文件中找出以root或John开头,fail结尾的行。用grep命令。小弟想问下此题的正则表达式该如何写??
发表于 2005-12-26 23:45:48 | 显示全部楼层
  1. egrep '^(root|john).*fail$' XXX
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-12-27 02:34:33 | 显示全部楼层

  1. while read line;do
  2.         [[ $line == root*fail || $line == John*fail ]]&&echo $line
  3. done<urfile
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-12-27 04:05:59 | 显示全部楼层
人家要用 grep 。

grep  '^[root,John].*fail$' xxx 不对 。谁能告诉我用grep怎么能在[]中匹配一个字符串啊。grep[]中可以不带,分隔字符。root跟 r,o,o,t,ro,roo,root 没什么区别是的。

可以写成 grep -E '^(root|John).*fail$' xxx  也算是曲线救国了。
回复 支持 反对

使用道具 举报

发表于 2005-12-27 08:50:54 | 显示全部楼层
回楼上
egrep == grep -E
回复 支持 反对

使用道具 举报

发表于 2005-12-27 15:00:06 | 显示全部楼层
Post by noping
人家要用 grep 。

grep  '^[root,John].*fail$' xxx 不对 。谁能告诉我用grep怎么能在[]中匹配一个字符串啊。grep[]中可以不带,分隔字符。root跟 r,o,o,t,ro,roo,root 没什么区别是的。

可以写成 grep -E '^(root|John).*fail$' xxx  也算是曲线救国了。

真犟 sed/awk就不能用吗?! 干嘛非要用grep(虽然grep很有实效)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-27 18:54:51 | 显示全部楼层
呃,sed/awk也可以用。但是,想看看grep咋弄。
回复 支持 反对

使用道具 举报

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

本版积分规则

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