使用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/31559985/viewspace-2693103/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- grep 命令系列:使用 grep 命令來搜尋多個單詞
- 多個字串和模式使用grep字串模式
- Linux文字搜尋工具grep使用詳解Linux
- 使用 Eloquent 輕鬆搜尋多個模型模型
- Linux (三劍客之一) grep字串搜尋命令詳解Linux字串
- 字串搜尋字串
- Linux日誌搜尋 grepLinux
- Linux常用指令---grep(搜尋過濾)Linux
- grep——高逼格 Linux文字搜尋神器Linux
- 搜尋檔案下包含某個字串的檔案字串
- grep搜尋伺服器日誌(搜尋指定關鍵字的行,按照日期group by count)伺服器
- Linux 搜尋命令總結 – whereis,which,locate,find,grepLinux
- if判斷和grep命令-w及搜尋前後行
- jQuery DataTables新增自定義多個搜尋條件jQuery
- Laravel 多 where 並搜尋Laravel
- 轉:一個在文字檔案搜尋指定字串的程式字串
- grep -r “字串” 目錄名的使用字串
- grep之字串搜尋演算法Boyer-Moore由淺入深(比KMP快3-5倍)字串演算法KMP
- [CareerCup] 18.8 Search String 搜尋字串字串
- grep 的 -a引數可以使得搜尋binary檔案了
- 快速使用Google搜尋Go
- 檔案許可權管理命令chmod,chown與文字搜尋命令grep
- 【譯】Swift演算法俱樂部-暴力字串搜尋Swift演算法字串
- [leetcode 87 擾亂字串] [剪枝搜尋]LeetCode字串
- mysql json陣列內物件屬性 多個值搜尋MySqlJSON陣列物件
- Mac新手需要了解的Spotlight搜尋N多個技巧Mac
- 搜尋引擎原理及使用
- 解決jive搜尋結果中的中文搜尋字串高亮度顯示的方法字串
- 使用Google百度等搜尋引擎的常用搜尋技巧Go
- 十九種Elasticsearch字串搜尋方式終極介紹Elasticsearch字串
- HDU 5469 Antonidas(樹上的字串匹配/搜尋)字串匹配
- 輸入多個編碼並支援模糊搜尋,引數是一個list
- Google的個性化搜尋Go
- 比Linux grep更快的作業系統檔案目錄搜尋工具:ripgrepLinux作業系統
- Laravel 使用 Elasticsearch 全域性搜尋LaravelElasticsearch
- SQLite中使用全文搜尋FTSSQLite
- 使用者自然搜尋流程
- 海量資料搜尋---搜尋引擎