Grep в примерах

agrep grep conditions

Grep в примера�

Все варианты использования grep к ключами "-e" "-X" имеют "тяжелый" синтаксис.

Удобнее использовать утилиту agrep.

apt install agrep

Реализация условия OR ИЛИ:

# netstat -tulpn | agrep '1527|2181|8081|8082|8083|8091'
tcp6       0      0 127.0.0.1:1527          :::*                    LISTEN      22890/java
tcp6       0      0 :::8091                 :::*                    LISTEN      22894/java
tcp6       0      0 :::2181                 :::*                    LISTEN      22889/java
tcp6       0      0 :::8081                 :::*                    LISTEN      22890/java
tcp6       0      0 :::8082                 :::*                    LISTEN      22891/java
tcp6       0      0 :::8083                 :::*                    LISTEN      22893/java

Есть ограничение на длину списка параметров. В данном примере у меня отработало только 6 4-х разрядных числовых значения.

Реализация условия AND И:

netstat -tulpn | agrep 'java;80'
tcp        0      0 127.0.0.1:8087          0.0.0.0:*               LISTEN      1787/java
tcp6       0      0 :::8091                 :::*                    LISTEN      22894/java
tcp6       0      0 127.0.0.1:32814         :::*                    LISTEN      3180/java
tcp6       0      0 :::8080                 :::*                    LISTEN      2030/java
tcp6       0      0 :::8081                 :::*                    LISTEN      22890/java
tcp6       0      0 :::8082                 :::*                    LISTEN      22891/java
tcp6       0      0 :::8083                 :::*                    LISTEN      22893/java

Addition sources:

https://unix.stackexchange.com/questions/55359/how-to-run-grep-with-multiple-and-patterns

https://stackoverflow.com/questions/20603865/union-and-difference-with-grep