使用grep搜尋多個字串
導讀 | grep是一個強大的 行工具,它允許在一個或多個檔案中搜尋與正規表示式匹配的行,並將匹配的結果寫入標準輸出。 |
Grep的多條件搜尋模式
grep支援三種正規表示式語法:Basic、Extended和Perl正規表示式。當沒有指定正規表示式型別時,grep將搜尋模式解釋為Basic基本正規表示式。
使用多條件搜尋模式時,請使用
|
管道符。使用grep的基本正規表示式搜尋多個條件,語法如下:
]# grep 'pattern1\|pattern2' file
當使用基本正規表示式時,需要使用
\
轉義符為
|
管道符轉義。
如果使用擴充套件模式,可以新增
-E
引數。使用擴充套件模式,就不需要為
|
管道符新增轉義符了。也可以使用
egrep
,這個命令和
grep -E
用法一樣。
]# grep 'pattern1|pattern2' file ]# egrep 'pattern1|pattern2' file
使用例項
檢查作業系統是否開啟虛擬化功能,使用Basic基本模式:
[root@localhost ~]# grep 'vmx\|svm' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
使用擴充套件模式就不需要新增
\
轉義符了,擴充套件模式使用方式:
[root@localhost ~]# grep -E 'vmx|svm' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities # 或者 [root@localhost ~]# egrep 'vmx|svm' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
預設情況grep區分大小寫,如果需要忽略大小寫,可以新增
-i
引數:
[root@localhost ~]# grep -E -i 'VMX|SVM' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities # 或者 [root@localhost ~]# egrep -i 'VMX|SVM' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
總結
grep是一個強大的命令列工具,它允許在一個或多個檔案中搜尋與正規表示式匹配的行,並將匹配的結果寫入標準輸出。
本文原創地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2693090/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- grep 命令系列:使用 grep 命令來搜尋多個單詞
- 多個字串和模式使用grep字串模式
- Linux (三劍客之一) grep字串搜尋命令詳解Linux字串
- Linux日誌搜尋 grepLinux
- 使用 Eloquent 輕鬆搜尋多個模型模型
- grep——高逼格 Linux文字搜尋神器Linux
- grep精確匹配搜尋某個單詞的用法 (附: grep高效用法小結))
- Linux 搜尋命令總結 – whereis,which,locate,find,grepLinux
- grep搜尋伺服器日誌(搜尋指定關鍵字的行,按照日期group by count)伺服器
- if判斷和grep命令-w及搜尋前後行
- [leetcode 87 擾亂字串] [剪枝搜尋]LeetCode字串
- grep 的 -a引數可以使得搜尋binary檔案了
- jQuery DataTables新增自定義多個搜尋條件jQuery
- Laravel 多 where 並搜尋Laravel
- 檔案許可權管理命令chmod,chown與文字搜尋命令grep
- mysql json陣列內物件屬性 多個值搜尋MySqlJSON陣列物件
- Mac新手需要了解的Spotlight搜尋N多個技巧Mac
- 比Linux grep更快的作業系統檔案目錄搜尋工具:ripgrepLinux作業系統
- 高效的使用搜尋引擎
- 十九種Elasticsearch字串搜尋方式終極介紹Elasticsearch字串
- 使用Google百度等搜尋引擎的常用搜尋技巧Go
- 輸入多個編碼並支援模糊搜尋,引數是一個list
- 使用grep命令,玩轉程式碼審計尋找Sink
- grep sed 大批次替換字串字串
- 【譯】Swift演算法俱樂部-暴力字串搜尋Swift演算法字串
- Trie——解決字串搜尋、異或最值問題字串
- Laravel 使用 Elasticsearch 全域性搜尋LaravelElasticsearch
- 最佳路徑搜尋(二):啟發式搜尋(代價一致搜尋(Dijkstra search),貪心搜尋,A*搜尋)
- 【譯】20個更有效地使用谷歌搜尋的技巧谷歌
- see-world雲搜|輕鬆使用谷歌搜尋谷歌
- 海量資料搜尋---搜尋引擎
- 搜尋
- [譯] Swift 演算法學院 – Z-Algorithm 字串搜尋Swift演算法Go字串
- [譯] Swift 演算法學院 - Z-Algorithm 字串搜尋Swift演算法Go字串
- 如何解決使用mac聚焦搜尋無法搜尋軟體的情況Mac
- SQL資料庫全域性搜尋字串(key&value)/無需執行查詢語句/不漏搜任何字串SQL資料庫字串
- 搜尋引擎-03-搜尋引擎原理
- 使用 Docker 和 Elasticsearch 構建一個全文搜尋應用程式DockerElasticsearch