Linux 文本操作的三大神器: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,內容如下:
使用正則表達式的匹配示例: