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命令快速入門


分享到:


相關文章: