grep命令快速入门

grep命令快速入门

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

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

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

首先是 grep。

1、命令功能

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

比如查看 ip 地址的命令:

<code>

ifconfig

| grep inet/<code>
grep命令快速入门

2、命令格式

<code>

grep

[option]

pattern

file

/<code>

其中,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命令快速入门


分享到:


相關文章: