Chinaunix

标题: grep与正则表达式 [打印本页]

作者: averill25    时间: 2008-02-14 18:23
标题: grep与正则表达式
best output co. ltd. c/o    norsk industry ltd.
best output co. ltd. c o    norsk industry ltd.
best ring industrial co.    c/o flying wings transportation ltd.
best ring industrial co.    c o flying wings transportation ltd.
best ring industrial co.    c/o flying wings transportation ltd
best ring industrial co.    c o flying wings transportation ltd

putty情况下
搜索含有c/o的命令是 grep '\<c/o\>'
含c o 的是 grep '\<c o\>'
有没有把这两个结合起来用一条命令的?

如何精确查找含有 ltd. 的行?

先谢谢啦
作者: cjaizss    时间: 2008-02-14 18:31
grep '\<c/o\>\|\<c o\>'
作者: averill25    时间: 2008-02-14 19:31
标题: 谢谢cjaizss
精确查找 "ltd."呢?
grep '\<'ltd\.\>' 没有用
作者: cjaizss    时间: 2008-02-14 19:46
grep '\<ltd\.\>'
作者: averill25    时间: 2008-02-14 20:09
楼上的我刚试过,没有用。
作者: cjaizss    时间: 2008-02-14 20:21
grep -E '\<ltd\.([[:space:]]|$)'

[ 本帖最后由 cjaizss 于 2008-2-14 20:36 编辑 ]
作者: averill25    时间: 2008-02-14 20:39
标题: 谢谢cjaizss
请问一下\< 有什么用?
另外查询 同时含有 co. 与 ltd. 怎么使用?
这个且 用什么符号表示?
谢谢。
作者: cjaizss    时间: 2008-02-14 21:22
原帖由 averill25 于 2008-2-14 20:39 发表
请问一下\< 有什么用?
另外查询 同时含有 co. 与 ltd. 怎么使用?
这个且 用什么符号表示?
谢谢。

\<匹配单词的开始,\>匹配单词的结束。
之所以
grep '\<ld\.\>'不行,是因为\.也是单词的分割符
作者: jinl    时间: 2008-02-14 21:50
搜索含有c/o的命令是 grep '\<c/o\>'
含c o 的是 grep '\<c o\>'
有没有把这两个结合起来用一条命令的?

grep '\<c[/ ]o\>'
作者: jinl    时间: 2008-02-14 21:52
原帖由 averill25 于 2008-2-14 20:39 发表
请问一下\< 有什么用?
另外查询 同时含有 co. 与 ltd. 怎么使用?
这个且 用什么符号表示?
谢谢。

这个且 不属于正则表达式的范围,不过你可以利用管道来实现
grep "rep1" file | grep "rep2"
先搜索满足rep1条件的,在结果中再搜索rep2条件
作者: cjaizss    时间: 2008-02-14 22:04
原帖由 averill25 于 2008-2-14 20:39 发表
请问一下\< 有什么用?
另外查询 同时含有 co. 与 ltd. 怎么使用?
这个且 用什么符号表示?
谢谢。

同时查询的话,grep 'co\.'  urfile | grep 'ltd\.'
或者
sed -n '/co\./{/ltd\./p}'
作者: averill25    时间: 2008-02-15 08:06
谢谢cjaizss。




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