Linux新手之路 - grep


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

取出非數字的內容
123553407.jpg
--color=auto  grep 可以使用 --color=auto 來將關鍵字部分使用顏色顯示

取出錨定行首的文本
123629766.jpg

取出所有數字文本
123656194.jpg
然後通過管道輸出到另一個命令輸入後   然後輸出    
取出文本的數字 然後用過wc 顯示輸出行數  
123953145.jpg

自己感覺正則表達式組合靈活運用還是需要長時間的積累









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章