• Linux 命令之grep


    简介

    grep 是一种强大的搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    grep 常用语法

    [root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
    选项与参数:
    -a :将 binary 文件以 text 文件的方式搜寻数据
    -c :计算找到 '搜寻字符串' 的次数
    -i :忽略大小写的不同,所以大小写视为相同
    -n :顺便输出行号
    -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
    --color=auto :可以将找到的关键词部分加上颜色的显示喔!

    将 /etc/passwd ,有出现 root 的行取出来

    [root@VM_81_181_centos ~]# grep 'root' /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    [root@VM_81_181_centos ~]# cat /etc/passwd | grep 'root'
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    [root@VM_81_181_centos ~]# 
    

    将 /etc/passwd 中 包含 root 的行取出来,并显示这些行在 /etc/passwd 中的行号

    [root@VM_81_181_centos ~]# grep -n 'root' /etc/passwd 
    1:root:x:0:0:root:/root:/bin/bash
    11:operator:x:11:0:operator:/root:/sbin/nologin
    [root@VM_81_181_centos ~]# 
    

    将 /etc/passwd 中,没有出现 root 和 nologin 的行取出来

    [root@VM_81_181_centos ~]# cat /etc/passwd | grep -v 'root' | grep -v 'nologin'
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    syslog:x:498:498::/home/syslog:/bin/false
    centos:x:500:501:Cloud User:/home/centos:/bin/bash
    xiaoming:x:501:502::/home/xiaoming:/bin/bash
    xiaoyang:x:502:503::/home/xiaoyang:/bin/bash
    mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
    [root@VM_81_181_centos ~]# 
    

    根据文件内容递归查找目录

    grep 'energywise' * # 在当前目录下查找带所要查找字符串的文件
    grep -r 'energywise' * #在当前目录及其子目录下搜索"energywise"的文件
    grep -l -r 'energywise' * #在当前目录及其子目录下搜索'energywise'行的文件,但是不显示匹配的行,只显示匹配的文件

    这几个命令很实用,是查找文件的利器

    -----------------------------------------------------------------------手动分割线------------------------------------------------------------------

    2018/09/29 更新

    grep 使用多个查询条件-----或

    命令如下:

    grep 条件1|条件2
    grep -E 条件1|条件2
    grep -e 条件1 -e 条件2
    

      

  • 相关阅读:
    maven中net.sf.json报错的解决方法(转载)
    [PY3]——环境配置(1)——pyenv | pip | ipython | jupyter(含安装pyenv环境shell脚本)
    [LNMP]——LNMP环境配置
    Tomcat
    Amoeba+Mysql 实现读写分离
    LVS+keepalived DR模式配置高可用负载均衡集群
    [Mysql高可用]——双主互备+keepalived
    Mysql 日志管理
    Mysql基本操作总结
    [Mysql]——通过例子理解事务的4种隔离级别
  • 原文地址:https://www.cnblogs.com/leeyongbard/p/9715414.html
Copyright © 2020-2023  润新知