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...