zoukankan      html  css  js  c++  java
  • linux每天一小步---grep命令详解

    1 命令功能

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

        grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2,我们利用这些返回值就可进行一些自动化的文本处理工作。

    2 命令语法

        grep 【选项】 模式pattern 【文件名file】    注:模式可为字符串或正则表达式

    3 命令参数

        -b  打印匹配行距文件头部的偏移量,以字节为单位

        -o  与-b选项结合使用,打印匹配的词距文件头部的偏移量,以字节为单位

        -c  只输出匹配行的数量

        -i   搜索时忽略字母大小写

        -h   查询多文件时不显示文件名

        -l   指列出符合匹配的文件名,而不列出具体的匹配行

        -n   列出所有的匹配行,并显示该行行号

        -s   不显示不存在或无匹配文本的错误信息

        -v   显示不包含匹配文本的所有行

        -r   递归搜索,不仅搜索当前工作目录,而且搜索子目录

        -q   禁止输出任何结果,已退出状态表示搜索是否成功

        -E   支持扩展的正则表达式

        -F   将样式视为固定字符串

        -w   显示包含匹配模式的所有行

        -x   只显示匹配模式的行

    4 正则表达式

        ^  指定模式以什么开始,如^abc匹配所有以abc开始的行

        $  指定模式以什么结束。如abc$匹配所有以abc结束的行

        .   匹配一个非换行符的字符。如a.c匹配a后接任意一个字符,然后是c的行

        *   匹配任意零个或多个字符。如*abc匹配所有后跟abc字符的行

        .*   匹配任意字符

        []   匹配一个指定范围内的字符,如[Aa]bc匹配Abc和abc

        [^]   匹配一个不在指定范围内的字符。如[^Aa]bc匹配不包含A和a字母开头后紧跟bc的行

        ()   将()的模式存储在特殊的保留空间,常与 (n为1至9的数字)组合使用。如(ab).*1匹配ab组合的两次重现,中间可能存在任何数目的字符。

        {n,m}   区间表达式,匹配在它前面的单个字符重现的次数区间。{n}指的是重现n次;{n,}则为至少重现n次,而{n,m}为重现n至m次。

    5 使用范例

    【1】查找指定进程

    ps -ef| grep 进程名

    【2】查找指定进程个数

    ps -ef | grep -c 进程名

    【3】从文件中查找关键词

    grep ‘查找的关键词’  文件名 如:grep ‘linux’ file1

    【4】统计主机tcp连接数的行数

    netstat -an | grep tcp |wc -l

    作者:linux每天一小步

    出处:http://www.cnblogs.com/westoslinux

    如果你真心觉得文章写得不错,而且对你有所帮助,不妨帮忙“推荐"一下,您的“推荐”将是我最大的写作动力!

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!

  • 相关阅读:
    2018-2019-1 20165202 20165210 20165214 实验一 开发环境的熟悉
    20165214 朱文远 缓冲区溢出漏洞实验
    2018-2019-1 20165214 《信息安全系统设计基础》第三周学习总结
    2018-2019-1 20165214 《信息安全系统设计基础》第2周学习总结
    2018-2019-1 20165214 《信息安全系统设计基础》第1周学习总结
    20165214 2017-2018-2 《Java程序设计》课程总结
    编程实现类似Linux系统的cp功能
    编程实现Linux系统的od功能
    2017-2018-2 20165214 实验五《网络编程与安全》实验报告
    2018-2019-1 20165212 20165313 2016522 实验一 开发环境的熟悉
  • 原文地址:https://www.cnblogs.com/westoslinux/p/6429488.html
Copyright © 2011-2022 走看看