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(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命令详解的更多相关文章
- linux每天一小步---ls命令详解
1 命令功能: 列出当前目录下或者指定目录下的所有文件和目录,ls是list的缩写. 2 命令语法: ls [选项] [目录名] #注:[]中的内容为非必选项 3 命令选项: -a 列出目录下 ...
- linux下find和grep命令详解
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...
- linux每天一小步---awk命令详解
1 命令功能 awk是linux环境下的一个强大的文本工具,由于awk天生提供对文件中文本分列进行处理,所以如果一个文件中的每行都被特定的分隔符(默认为空格)隔开,我们就可以将这个文件看成是有很多列的 ...
- linux每天一小步---sed命令详解
1 命令功能 sed是一个相当强大的文件处理编辑工具,sed用来替换,删除,更新文件中的内容.sed以文本行为单位进行处理,一次处理一行内容.首先sed吧当前处理的行存储在临时的缓冲区中(称为模式空间 ...
- linux每天一小步---xargs命令详解
1 命令功能 xargs用来从标准输入中执行命令行 xargs命令用来将一些不支持管道传递参数的命令而使之支持 2 命令语法 xargs [选项参数] commands 3 命令参数 -O 当标准输 ...
- linux每天一小步---find命令详解
1 命令功能 find命令用于搜索指定目录下的文件,并配合参数做出相应的处理. 2 命令语法 find 搜索路径pathname 选项option [-exec -ok -print 执 ...
- linux每天一小步---tail命令详解
1 命令功能 tail命令用于显示文件中末尾的内容(默认显示最后10行内容) 2 命令语法 tail [选项参数] [文件名1] [文件名2] 3 命令参数 -f 用于循环读取文件的内容,监视文件的 ...
- linux每天一小步---head命令详解
1 命令功能 head命令用来查看文件的前多少行或多少字节的内容(默认显示10行) 2 命令语法 head [选项参数] [文件名] 3 命令参数 -q 显示多个文件的内容时不显示文件 ...
- linux每天一小步---alias命令详解
1 命令功能 alias命令用来设置指令的别名,alias命令设置的别名只限于该次登陆操作,若要每次登入即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名. ...
随机推荐
- 八.jQuery源码解析之get()
理论上get是用来返回jQuery对象中部分或全部元素为数组的,但是转换为数组后, 数组中的单个元素又是一个一个dom元素.所以get还有另外一个功效,就是将jQuery对象转换成dom对象. 如果g ...
- M3截止阶段小结
python知识点总结1.copy模块中深浅拷贝copy() deepcopy()2.__new__ 方法参数 def __new__(cls, *args, **kwargs): ...
- android studio 3.0.1使用笔记(一)20171231
首先安装JDK1.8.1并设置环境变量JAVA_HOME(C:/JAVA/JDK)及PATH(;%JAVA_HOME%\bin ) 然后安装AS 然后首次AS运行并退出,将GRADLE-4-1.ZIP ...
- 前端开发中常用的CSS选择器解析(一)
你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远远不是css的全部.下面向大家系统的介绍css中最常用的选择器,包括我们最头痛的浏览器兼容性问题.掌握了它们,才能真正领略cs ...
- VS2015 C#6.0 中的没有实现/支持的特性
VS2015 C#6.0 中的没有实现/支持的特性 .数组增强:赋值 维数组 Int[] numbers: numbers = {2,3,4,5}; 维数组 Int[,] numbers2; ...
- 数组/指针/const/字符串常量的使用传值问题
#include<stdio.h> #include<string.h> int main() { ] = "abcd"; //常指针a指向字符串常量&qu ...
- Openstack 组件简介
1. Nova 计算服务: 负责承载和管理云计算系统 其中nova-compute service 通过调用Hypervisor APIs创建和终止虚拟机实例. 虚拟化技术: KVM和Xen 2. N ...
- Source命令及脚本的执行方式
[Source命令及脚本的执行方式] source filename 与 sh filename 及./filename执行脚本的区别在那里呢? 1.当shell脚本具有可执行权限时,用sh file ...
- OGNL入门
------------------siwuxie095 OGNL 入门 1.OGNL 支持对象方法调用,即 objName.methodName() 如:使用 OGNL 表达式 + Struts2 ...
- errorlevel 续1
-------siwuxie095 常用 errorlevel 返回值: backup 0 备份成功 1 未找到备份文件 2 文件共享冲突阻止备份完成 3 用户用 ct ...