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(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

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

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

linux每天一小步---grep命令详解的更多相关文章

  1. linux每天一小步---ls命令详解

    1 命令功能: 列出当前目录下或者指定目录下的所有文件和目录,ls是list的缩写. 2 命令语法: ls [选项] [目录名]     #注:[]中的内容为非必选项 3 命令选项: -a 列出目录下 ...

  2. linux下find和grep命令详解

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...

  3. linux每天一小步---awk命令详解

    1 命令功能 awk是linux环境下的一个强大的文本工具,由于awk天生提供对文件中文本分列进行处理,所以如果一个文件中的每行都被特定的分隔符(默认为空格)隔开,我们就可以将这个文件看成是有很多列的 ...

  4. linux每天一小步---sed命令详解

    1 命令功能 sed是一个相当强大的文件处理编辑工具,sed用来替换,删除,更新文件中的内容.sed以文本行为单位进行处理,一次处理一行内容.首先sed吧当前处理的行存储在临时的缓冲区中(称为模式空间 ...

  5. linux每天一小步---xargs命令详解

    1 命令功能 xargs用来从标准输入中执行命令行 xargs命令用来将一些不支持管道传递参数的命令而使之支持 2 命令语法 xargs  [选项参数] commands 3 命令参数 -O 当标准输 ...

  6. linux每天一小步---find命令详解

    1 命令功能 find命令用于搜索指定目录下的文件,并配合参数做出相应的处理. 2 命令语法      find  搜索路径pathname 选项option [-exec -ok -print  执 ...

  7. linux每天一小步---tail命令详解

    1 命令功能 tail命令用于显示文件中末尾的内容(默认显示最后10行内容) 2 命令语法 tail [选项参数] [文件名1] [文件名2] 3 命令参数 -f  用于循环读取文件的内容,监视文件的 ...

  8. linux每天一小步---head命令详解

    1 命令功能      head命令用来查看文件的前多少行或多少字节的内容(默认显示10行) 2 命令语法 head  [选项参数]  [文件名] 3 命令参数 -q  显示多个文件的内容时不显示文件 ...

  9. linux每天一小步---alias命令详解

    1 命令功能     alias命令用来设置指令的别名,alias命令设置的别名只限于该次登陆操作,若要每次登入即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名. ...

随机推荐

  1. 八.jQuery源码解析之get()

    理论上get是用来返回jQuery对象中部分或全部元素为数组的,但是转换为数组后, 数组中的单个元素又是一个一个dom元素.所以get还有另外一个功效,就是将jQuery对象转换成dom对象. 如果g ...

  2. M3截止阶段小结

    python知识点总结1.copy模块中深浅拷贝copy() deepcopy()2.__new__ 方法参数    def __new__(cls, *args, **kwargs):        ...

  3. android studio 3.0.1使用笔记(一)20171231

    首先安装JDK1.8.1并设置环境变量JAVA_HOME(C:/JAVA/JDK)及PATH(;%JAVA_HOME%\bin ) 然后安装AS 然后首次AS运行并退出,将GRADLE-4-1.ZIP ...

  4. 前端开发中常用的CSS选择器解析(一)

    你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远远不是css的全部.下面向大家系统的介绍css中最常用的选择器,包括我们最头痛的浏览器兼容性问题.掌握了它们,才能真正领略cs ...

  5. VS2015 C#6.0 中的没有实现/支持的特性

      VS2015 C#6.0 中的没有实现/支持的特性   .数组增强:赋值 维数组 Int[] numbers: numbers = {2,3,4,5}; 维数组 Int[,] numbers2; ...

  6. 数组/指针/const/字符串常量的使用传值问题

    #include<stdio.h> #include<string.h> int main() { ] = "abcd"; //常指针a指向字符串常量&qu ...

  7. Openstack 组件简介

    1. Nova 计算服务: 负责承载和管理云计算系统 其中nova-compute service 通过调用Hypervisor APIs创建和终止虚拟机实例. 虚拟化技术: KVM和Xen 2. N ...

  8. Source命令及脚本的执行方式

    [Source命令及脚本的执行方式] source filename 与 sh filename 及./filename执行脚本的区别在那里呢? 1.当shell脚本具有可执行权限时,用sh file ...

  9. OGNL入门

    ------------------siwuxie095 OGNL 入门 1.OGNL 支持对象方法调用,即 objName.methodName() 如:使用 OGNL 表达式 + Struts2 ...

  10. errorlevel 续1

    -------siwuxie095             常用 errorlevel 返回值:     backup 0 备份成功 1 未找到备份文件 2 文件共享冲突阻止备份完成 3 用户用 ct ...