1礁竞、正則表達(dá)式
在日常處理日志的過程中,使用正則表達(dá)式的工具包括grep芯砸,sed萧芙,awk等给梅,本次僅僅對grep和sed進(jìn)行一些簡單的介紹假丧。
2、grep
grep [options] pattern [file-list]
grep可在一個或多個文件中逐行搜說pattern动羽,pattern可以是簡單的一個字符串包帚,也可以是正則表達(dá)式。
參數(shù)選項(xiàng):
-c(count) 顯示每個文件中包含匹配的行的數(shù)目
-f (file) 讀取文件file运吓,從輸入中查找匹配每個模式的行渴邦。
-I (ignore-case) 使得模式中的小寫字母可以匹配其大寫疯趟。使用該選項(xiàng)可以搜索到句子開始的單詞可大寫,也可小寫
-l (files-with-matches) 僅顯示包含匹配的文件名谋梭,每個文件名僅顯示一次
-L (files-without-match) 顯示不包含匹配的文件名
-n (line-number) 在顯示的每行前顯示行號
-v (invert-match) 顯示不包含匹配的行
-w (word-regexp) pattern 必須與整個字匹配
-x (line-regexp) pattern 匹配整行
-h 當(dāng)搜索多個文件時信峻,在每行的開始不顯示文件名
-H (with-filename) 為每個匹配顯示文件名
-E (extended-regexp) 擴(kuò)展正則表達(dá)式,grep –E 等價于egrep
-A (after-context=NUM) 顯示匹配行以及前面的幾行
-B (before-context=NUM) 顯示匹配行以及后面的幾行
-C (context=NUM) 顯示匹配行以及前后的幾行
以上只列出grep的一些常用的用法瓮床。一下分別針對正則表達(dá)式以及grep的示例進(jìn)行實(shí)際操作盹舞。
1) 查找字符串 good
-n 顯示行號
-H 顯示文件名
在文件reg 文件中所搜含有g(shù)ood的行
2) 反向選擇查找,使用-v 便可以查找不含goo的行
3) 搜索統(tǒng)計(jì)含有g(shù)oo的行數(shù)
4) 搜索統(tǒng)計(jì)含有g(shù)oo的行數(shù)
查找file文件中student和reg 匹配的行 5) 使用-i忽略大小寫
6) 查找匹配的整個單詞
使用-w 選項(xiàng)和正則表達(dá)式的 <> 匹配整個單詞
// 以上只是grep的一些基本選項(xiàng)使用的一些示例隘庄,一下是對于正則表達(dá)式的操作
7) 查找含$(美元符號)的行
當(dāng)遇到有特殊含義的行踢步,需要用反斜線進(jìn)行轉(zhuǎn)義
8)句點(diǎn).符號表示單個字符
9)星號*符號表示匹配它前0個或多個字符
12)匹配中括號中的任意一個字符
13)區(qū)間匹配
14)[:upper:] 和 [A-Z]
15)[:digit:] 和 [0-9]
16)[:lower:] 和 [a-z]