grep命令快速入門

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

grep:使用正則表達式搜索文本,並把匹配的行打印出來,是強大的文本搜索工具;sed:用於編輯匹配到的文本,是一種流編輯器;awk:能夠對文本進行復雜的格式處理,是一種處理文本的語言。

接下來,會依次對這三個命令進行介紹,方便快速上手。

首先是 grep。

1、命令功能

grep 的主要功能是在文件中查找/過濾所需要的內容。

比如查看 ip 地址的命令:

<code>

ifconfig

| grep inet/<code>

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,內容如下:

通過設定不同命令參數的示例如下:

同時匹配多個pattern(-e)和忽略大小寫(-i)很方便查找:

顯示行號(-n)可以快速定位:

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

5、常用的正則表達式

常用的正則表達式:

.:任意單個字符*:任意字符多次[]:指定範圍,如[0-9]、[a-z]、[A-Z]、[0-9a-zA-Z]^:行首$:行尾^$:空行

比如有一個hello.txt,內容如下:

使用正則表達式的匹配示例: