十三、shell三剑客(1)grep

1.grep的分类

grep  默认不会识别正则匹配

egrep  自带正则匹配

fgrep  什么符号都不认

语法

  grep  找什么 在哪找1 在哪找2 在哪找3

 

2.返回值

  0是找到了  表示成功

  1是没有  表示在所提供的文件无法找到匹配的pattern

  2找到但地方不对

  

 

 

3.参数

  grep -q 静默  不显示,可以用来判断

  

 

 

  grep -v 取反  常用

  

 

  

 

   我们这里用grep搜索ssh的相关进程,会把自己也算在里面,所以可以再次取反不看grep

 

  grep -R  可以查看目录下面的文件

  

 

 

  grep -o  只找这个关键字就可以

  

 

  文中有许多123,但是如果你只想看123,而不是内容

  

 

 

  grep -B2  前两行

  

 

 

  grep -A2  后两行

  

 

 

  grep -C2  上下两行

  

 

 

  grep -n  带行号

  

 

  grep -l  只看文件名

  

 

 

示例:

  egrep 'NW' datafile.txt  在datafile.txt里找NW

  grep 'NW' d*.txt  在开头d的.txt文件里找NW

  egrep '^n' datafile.txt  在datafile.txt里找行首为n的

  egrep '4$' datafile.txt  在datafile.txt里找以4为行尾的

  egrep TB Savage datafile.txt  在Savage 和 datafile.txt里找带有TB的

  egrep '5\..' datafile.txt  在datafile.txt里找5.后接任意一个字符

  egrep '\.5' datafile.txt  在datafile.txt里找.5

  egrep '^[we]' datafile.txt  在datafile.txt里找行首是w或者e的

  egrep '[^0-9]' datafile.txt  在datafile.txt里找非数字的

  egrep '[A-Z][A-Z] [A-Z]' datafile.txt  在datafile.txt里找大写大写空格大写

  egrep 'ss*' datafile.txt  在datafile.txt里找s接0-n个s

  egrep '[a-z]{9}' datafile.txt  在datafile.txt里找9个连续的小写字母

  egrep '\<north' datafile.txt  在datafile.txt里找以north为词首的词

  egrep '\<north\>' datafile.txt  在datafile.txt里找north的词

  egrep '\<[a-r].*n\>' datafile.txt  在datafile.txt里找a-r中任意一个为词首,以n为词尾的词

  

 

posted @ 2022-02-20 16:31  真渡  阅读(95)  评论(0)    收藏  举报