shell多字元匹配(grep命令的且或非)

2022-06-26 18:33:12 字數 531 閱讀 3255

shell指令碼中grep命令用於匹配字串

假如有2個字串str1和str2,有乙個檔案file

如何選出同時含有$str1和$str2字串的行呢?如何選出含有$str1或$str2的行呢?如何選出不含有$str1且不含有$str2的行呢?

1

#選出同時含有兩個字串的行

2grep

"$str1

" $file | grep

"$str2"3

4#選出含有兩個中的乙個字串的行

5grep -e "

$str1|$str2

" $file67

#選出兩個字串都不含有的行

8grep -v "

$str1

" $file | grep

"$str2"9

10#選出不含其中乙個字串的行

11grep -v "

$str1|$str2

" $file

另外,顯示行號,只需要在grep後面加上選項-n即可

grep匹配字串

基本正規表示式 元資料意義和範例 word 搜尋以word開頭的行。例如 搜尋以 開頭的指令碼注釋行 grep n regular.txt word 搜尋以word結束的行 例如,搜尋以 結束的行 grep n regular.txt 匹配任意乙個字元。例如 grep n e.e regular.t...

多字串匹配 aho corasick演算法

aho corasick自動機 1 圖示 2 原理 實質是kmp演算法在多模式串匹配的擴充套件,首先構造trie樹,然後以層次遍歷序訪問該樹,在trie樹的基礎上構造a c自動機。其中f q 表示 q是個終結狀態,如果q對應乙個完整的字串,則稱q為終結狀態 f q 包括了模式串集合p中,q所對應的該...

正規表示式 多字元匹配

正規表示式 多字元匹配 匹配的規則 字元 功能 匹配前乙個字元出現0次或者無限次,即可有可無 匹配前乙個字元出現1次或者無限次,即至少有1次 匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有 匹配前乙個字元出現m次 d 123 匹配前乙個字元出現從m到n次 d 1234 12345 12345...