• grep命令总结


    grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep, egrep和fgrep是grep的扩展,与Windows下命令 findstr 类似。

    命令格式:  grep string filename

     --color    同—color=auto   高亮显示匹配到的字符串,也可使用别名alias实现,alias grep=‘grep --color=auto’

    -v     --revert-match,反向查询,即输出没有匹配到的字符串

    -i      --ignore-case,忽略大小写

    -n     --line-number,在匹配到的内容前显示行号

    -c     --count,匹配到字符串的行数(注意:不是匹配到的次数)

    -o      grep默认输出匹配到字符串所在行的全部内容,-o选项仅显示匹配到的字符串

          每个匹配到的字符串都会显示为一行,即若在一行中匹配到n个字符串,会输出n行字符串(每行一个字符串)(用于统计字符串出现在文本中的次数)

    -w      完全匹配整个单词,不匹配含有字符串的单词,例如 magic 不匹配会 magical

    -a      把二进制文件当做文本处理

    -An(after) 显示匹配字符串及其后n行数据

    -Bn(before) 显示匹配字符串及其前n行数据

    -Cn(context) 显示匹配到的字符串及其前后n行

    例:

    grep 'linux'   test.txt   test2.txt   //从多个文件中查找linux

    多文件查询时,会把文件名在行首输出,并且加上":"作为标示符。

    例:

    find . -name ".log" | grep -i error | grep -vi "info"

    1、使用find -name 来列出所有log文件,重定向给grep

    2、使用grep -i 来查找包含error的行

    3、使用grep -vi 来查找不包含info的行

    egrep与grep -E

    grep 过滤多个条件

    错误写法:

    netstat -an|grep "ESTABLISHED|WAIT"      //默认grep不支持多条件匹配   

    正确写法:

    netstat -an|grep -E "ESTABLISHED|WAIT"    //grep -E 并将条件用""包起来,条件之间用“|”管道符分开

    grep -E  '123|abc'  filename  // 找出文件(filename)中包含123或者包含abc的行

    egrep  '123|abc'  filename    // 用egrep同样可以实现

    awk  '/123|abc/'  filename   // awk 的实现方式

    与  &         或  |    非  !

    君子务本,本立而道生
  • 相关阅读:
    Nginx调试入门
    Nginx自动安装脚本
    Centos7.3自动化脚本安装MySQL5.7
    复制多行内容到文本
    Windows常用命令
    C++笔试题
    loadrunner和QTP视频教程汇总
    mysql-connector-java-5.1.22下载
    struts学习笔记
    Hibernate原理
  • 原文地址:https://www.cnblogs.com/00huajiang/p/11015104.html
Copyright © 2020-2023  润新知