xiangyunstudy

导航

 

不知道怎么讲,直接上图,看图说话,最后在小结说明吧。

 

 

 

 

 

某培训机构讲的使用grep四种精准匹配的方式,给出的数据见上图。但实际上面的搜索还是有区别的,我们来看看有什么区别,请看下面的区别,其实也可以自行看“man grep”,自己仔细研读

每个参数的含义,不要轻信别人给出的解释。或者说发现别人有错误的时候,尽快刷新个人的认知吧。因为如果不严谨的话,做判断的时候可能就会留下很多bug。

grep 后面有需要匹配的内容,最好使用单双引号。这样统一记可能会不易出错。

重新编辑一个文档

 

 

 

 

 注: 精准匹配“200”,但是行呢可以有别的字符串。 -n表示行数。

 

 

  注:以上两个精准匹配意思就是本行内有且只有“200”

 

  

 

注:如果只匹配“200”见上图。 

 

 

 

  注: -i 表示不区分大小写

 

 

 

  注:-c 表示统计含有“200”的行数,等效wc -l统计行数。

 

 

 

  注:单引号内可以匹配正则,-v这里是取反。使用正则表达是如果不确定是基础正则还是扩展正则表达式的话,可以使用egrep或grep -E。

 

 

 

 

grep是一个多用途的文本搜索工具,linux中使用非常频繁,并且使用很灵活,可以是变量,也可以是字符串。最基本的用法有以下两种:

1.搜索内容中无空格,可以直接执行grep命令,比如:grep pass a.txt,表示在a.txt文件中搜索pass所在的行。
2.如果搜索内容中有空格,则需要使用单引号或者双引号把搜素内容引起来,比如:
grep "hello all" a.txt或者grep 'hello all' a.txt,如果不加单双引号,则提示搜搜错误,无法识别,因为不加引号,直接grep hello all a.txt,表示在all 和a.txt中搜索hello,这肯定是不对的
2
grep的一些参数命令:
1.grep -c option file:显示文件中包含搜索内容行数,比如前面的命令表示显示 file中包含option内容的行数是几
2. grep -n option flie:列出所有的匹配行,并在最前面添加行的序列数
3. grep -v option file:显示文件中不包含所搜索内容的行数,这个和-c的参数正好相反
4. gep -i option file:列出所搜索内容的匹配行,搜索过程中不区分大小写
5. grep -l option *:列出所有包含option内容的文件的名
6. grep -r option :对当前目录和所有的子目录进行搜索
7. grep -w option file:精确搜索,可以说准确性搜索,比如:grep -w b* a.txt:此命令执行时,*不会默认为任何字符,只表示字面意思,就是一个*字符.
8. grep -x option file:完全匹配输出,比如:grep -x hello a.txt,只会输出某一行存在hello字符串,并且此行仅包含hello的内容。假设a.txt中有一行“hello all”,执行上述命令,此行不会被搜索到。

以上内容来源网络,grep学习内容以后还会逐步完善。更多的内容可以到man grep上自行看。

 

posted on 2022-08-04 21:35  xiangyunhe  阅读(303)  评论(0编辑  收藏  举报