grep 在Linux 系統中是一種強大的文本搜索工具 可以通過使用正則表達式匹配需要提取的文本內容
grep
grep:默認支持基本正則表達式
egrep:擴展正則表達式
fgrep :不支持正則表達式元字符 搜索字符串的速度快
正則表達式是一類字符所書寫的模式(pattern)
用法: grep [選項]... PATTERN [FILE]...
在每個 FILE 或是標準輸入中查找 PATTERN。
默認的 PATTERN 是一個基本正則表達式(縮寫爲 BRE)。
例如: grep -i 'hello world' menu.h main.c
正則表達式選擇與解釋:
-E, --extended-regexp PATTERN 是一個可擴展的正則表達式(縮寫爲 ERE)
-F, --fixed-strings PATTERN 是一組由斷行符分隔的定長字符串。
-G, --basic-regexp PATTERN 是一個基本正則表達式(縮寫爲 BRE)
-P, --perl-regexp PATTERN 是一個 Perl 正則表達式
-e, --regexp=PATTERN 用 PATTERN 來進行匹配操作
-f, --file=FILE 從 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小寫
-w, --word-regexp 強制 PATTERN 僅完全匹配字詞
-x, --line-regexp 強制 PATTERN 僅完全匹配一行
-z, --null-data 一個 0 字節的數據行,但不是空行
正則表達式的主要參數
^string :錨定行首的符合條件的內容 用法格式 "^pattern"
string$ :錨定行尾符合條件的內容 用法格式 "pattern"$
^pattern$ ^$ 空白行
. : 匹配任意單個字符
* : 匹配緊挨在其前面的字符任意次 : a*b :ab
[ ] :匹配指定範圍內的字符
[^] :匹配指定範圍外的任意單個字符
\?:匹配緊挨在其前面的字符0次或1次
\{m,n}\ : 匹配其前面的字符 至少m次 至多n次
\{0,n\} 至少0次 至多n次
\{m,\} 至少m次 至多不限
\{m\} 精確匹配m次
\< : 錨定詞首
\> : 錨定詞尾
通過nano 做一個文本文件
# nano ifconfig.txt
取出非數字的內容
--color=auto grep 可以使用 --color=auto 來將關鍵字部分使用顏色顯示
取出錨定行首的文本
取出所有數字文本
然後通過管道輸出到另一個命令輸入後 然後輸出
取出文本的數字 然後用過wc 顯示輸出行數
自己感覺正則表達式組合靈活運用還是需要長時間的積累