linux搜索含多个字符串,使用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是一個強大的命令行工具,它允許在一個或多個文件中搜索與正則表達式匹配的行,并將匹配的結果寫入標準輸出。
總結
以上是生活随笔為你收集整理的linux搜索含多个字符串,使用grep搜索多个字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: if判断用户名 linux,linux
- 下一篇: linux并发服务器实例,linux--