欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

grep命令快速入门

程序员文章站 2022-05-13 11:06:18
...

Linux 文本操作的三大神器:grep、sed、awk,各自的最佳应用场景:

  • grep:使用正则表达式搜索文本,并把匹配的行打印出来,是强大的文本搜索工具;
  • sed:用于编辑匹配到的文本,是一种流编辑器;
  • awk:能够对文本进行复杂的格式处理,是一种处理文本的语言。

接下来,会依次对这三个命令进行介绍,方便快速上手。

首先是 grep。

1、命令功能

grep 的主要功能是在文件中查找/过滤所需要的内容。

比如查看 ip 地址的命令:

ifconfig | grep inet

grep命令快速入门

 

2、命令格式

grep [option] pattern file

其中,option 是 grep 命令的参数,pattern 是所需查找/过滤的内容,file 是指定的文件。

3、命令参数

  • -A<显示行数>:除了显示匹配 pattern 的那一行外,显示该行之后的内容
  • -B<显示行数>:除了显示匹配 pattern 的那一行外,显示该行之前的内容
  • -C<显示行数>:除了显示匹配 pattern 的那一行外,显示该行前、后的内容
  • -c:统计匹配的行数
  • -e:同时匹配多个pattern
  • -i:忽略字符的大小写
  • -n:显示匹配的行号
  • -o:只显示匹配的字符串
  • -v:显示没有匹配pattern的那一行,相当于反向匹配
  • -w:匹配整个单词

4、grep应用示例

比如有一个hello.txt,内容如下:

grep命令快速入门

 

通过设定不同命令参数的示例如下:

grep命令快速入门

 

同时匹配多个pattern(-e)和忽略大小写(-i)很方便查找:

grep命令快速入门

 

显示行号(-n)可以快速定位:

grep命令快速入门

 

反向匹配(-v)也经常用到:

grep命令快速入门

 

5、常用的正则表达式

常用的正则表达式:

  • .:任意单个字符
  • *:任意字符多次
  • []:指定范围,如[0-9]、[a-z]、[A-Z]、[0-9a-zA-Z]
  • ^:行首
  • $:行尾
  • ^$:空行

比如有一个hello.txt,内容如下:

grep命令快速入门

 

使用正则表达式的匹配示例:

grep命令快速入门