Linux grep 同时满足多个条件

一 或操作

 grep -E '123|abc' filename  // 找出文件(filename)中包含123或者包含abc行
 
 egrep '123|abc' filename    // 用egrep同样可以实现
 
 awk '/123|abc/' filename   // awk 的实现方式

二 与操作

 grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

1.grep命令本身不提供AND功能。但是,使用 -E 选项可以实现AND操作。

grep -E 'pattern1.*pattern2' filename

grep -El 'pattern1.*pattern2' * (会把包含这两个条件的文件查询出来)

grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename

2.第一个例子如下:(其中两个pattern的顺序是指定的)

$ grep -E 'Dev.*Tech' employee.txt

3(两个pattern的顺序不是固定的,可以是乱序的)

$ grep -E 'Manager.*Sales|Sales.*Manager' employee.txt

你可能感兴趣的:(Linux)