shell学习笔记 (8.1)

第8章 grep   家 族

---china.pub.com  linux shell电子书学习笔记

在本章中我们将讨论:
• grep(参数)选项。
• 匹配g r e p的一般模式。
• 只匹配字母或数字,或两者混用。
• 匹配字符串范围

8.1   grep
 

g r e p一般格式为:
grep [选项]基本正则表达式[文件]
这里基本正则表达式可为字符串。

8.1.1   双引号引用

在g r e p命令中输入字符串参数时,最好将其用双引号括起来。例如:“mys tring” 。这样做有两个原因,一是以防被误解为 shell命令,二是可以用来查找多个单词组成的字符串,例如:“jet plane” ,如果不用双引号将其括起来,那么单词 plane将被误认为是一个文件,查询结果将返回“文件不存在”的错误信息。

8.1.2   grep选项

常用的g r e p选项有:
-c   只输出匹配行的计数。
-i   不区分大小写(只适用于单字符) 。
-h   查询多文件时不显示文件名。
-l   查询多文件时只输出包含匹配字符的文件名。
-n   显示匹配行及行号。
-s   不显示不存在或无匹配文本的错误信息。
-v   显示不包含匹配文本的所有行。

8.1.3   查询多个文件

如果要在当前目录下所有. d o c文件中查找字符串“s o r t” ,方法如下:
$ grep "sort"*.doc
或在所有文件中查询单词“sort it”
 

  
  
  
  
  1. $ grep "sort it" * 

8.1.4   行匹配

 

  
  
  
  
  1. $ grep -c "48" data.f 
  2. $ 4 


g r e p返回数字4,意义是有4行包含字符串“4 8” 。
现在显示包含“4 8”字符串的4行文本:

8.1.5   行数

 

  
  
  
  
  1. grep -n "48" data.f 

8.1.6   显示非匹配行

显示所有不包含4 8的各行

8.1.7   精确匹配

使用g r e p抽取精确匹配的一种更有效方式是在抽取字符串后加 \ >

8.1.8   大小写敏感

g r e p是大小写敏感的,如要查询大小写不敏感字符串,必须使用 - i开关

  
  
  
  
  1. grep -i "haha" cc.doc 

你可能感兴趣的:(shell,职场,grep,休闲)