+ -
当前位置:首页 → 问答吧 → grep精确过滤字符串问题

grep精确过滤字符串问题

时间:2011-07-18

来源:互联网

有如下文件test.txt
test
test1
test2
test-1
test-2
使用grep '\<test\>' test.txt 跟使用grep -w "test" test.txt的效果一样。
  1. -bash-3.00# grep '\<test\>' test.txt
  2. test
  3. test-1
  4. test-2
  5. -bash-3.00#
复制代码
现在我想要的是过滤test的时候不要显示test-1,test-2这些,该如何去做?

作者: Single_GG   发布时间: 2011-07-18

[root@d tmp]# cat aa.txt
test
tet-21
test-1

[root@d tmp]# grep -w "test$" aa.txt
test
[root@d tmp]#

作者: love100   发布时间: 2011-07-18

回复 Single_GG


    grep '^\<test\>$'

作者: yinyuemi   发布时间: 2011-07-18

grep -x test test.txt

作者: ly5066113   发布时间: 2011-07-18

谢谢各位的热情回复,
我使用grep  '^test$' test.txt 好象也能达到效果了。

作者: Single_GG   发布时间: 2011-07-18

回复 love100


    老大,你这个我在unix上试过不可以,sun 5。10 的系统。

作者: Single_GG   发布时间: 2011-07-18

-x, --line-regexp
              Select only those matches that exactly match the whole line.

作者: love100   发布时间: 2011-07-18

回复 Single_GG


    仅仅针对这个例子,一个$就够了,要是test前有个空格,^就多此一举了,呵呵

作者: xiaopan3322   发布时间: 2011-07-18

热门下载

更多