基本用法

  1. vim 的多条件匹配

    ?.*a\&.*b ?a\|b
    ?a\&.*b
  2. grep 的多条件匹配

    grep 'pattern1' filename | grep 'pattern2' grep ‘pattern1\|pattern2‘ filename grep -v ‘pattern‘ filename
    grep -E ‘pattern1.*pattern2‘ filename grep -E ‘pattern1|pattern2‘ filename
    grep -E ‘pattern1.*pattern2|pattern2.*pattern1‘ filename grep -e ‘pattern1 -e pattern2‘ filename
    egrep ‘pattern1|pattern2‘ filename

案例

运算

  1. 查看 12 月份的错误信息:greperror‘ /var/log/message | grepFeb ‘;

  2. 查看用户下有无特定程序:

    ps -Af | grep -E ‘root’ | grep bash
    ps -Af | grep herc |grep bash

在系统的日常维护中,应当应该配合上下文检索信息,例如匹配前3条、后1条: ausearch -f /etc/passwd | grep -B3 -A1 cat。

  1. 匹配文件中的两个字符串:

    第一个关键词位于行首:/2021-1-18\&.* d

    vim-多条件“与”运算

    第一个关键词位于行中: /.*9:23\&.* d

    vim-多条件“与”运算2

运算

  1. 查看是否存在这些进程:ps -Af | grep -E ‘mysql|postgres|xinetd|amanda’;

  2. 查看相应程序是否开机运行的配置:chkconfig –list | grep -E ‘mysql|postgres|xinetd|amanda’。

  3. 匹配文件中的两个字符串: /.*Send\|83

    vim-多条件“与”运算

运算

  1. 查看非空密码用户:cat /etc/shadow |grep -v “!!“;

  2. 查看可以登录系统的用户:cat /etc/passwd |grep -v “nologin”。

参考文献

  1. 夜之眷属.vim中多条件查询[EB/OL].https://blog.csdn.net/qq_28112995/article/details/106741835, 2021/02/12.

  2. stalin_.Linux--使用grep命令进行多条件查询(AND,OR,NOT)[EB/OL].https://blog.csdn.net/stalin_/article/details/81450633, 2021/02/12.