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

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

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

时间: 2024-11-05 02:24:06

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

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

1 命令功能 find命令用于搜索指定目录下的文件,并配合参数做出相应的处理. 2 命令语法      find  搜索路径pathname 选项option [-exec -ok -print  执行的命令command] {} \: pathname  find命令所查找的目录路径. -print        find命令对匹配的文件输出到标准输出. -exec        find命令对查找到的文件执行参数所给出的shell命令.相应命令的格式为 'command' {} \:注意{}

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

1 命令功能     alias命令用来设置指令的别名,alias命令设置的别名只限于该次登陆操作,若要每次登入即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名. 2 命令语法     alias [选项] [别名]='[指令名称]' 3 命令参数     -p  打印已经设置的命令别名 4 使用范例 显示系统中已设置的命令别名 设置一个指令别名 作者:linux每天一小步 出处:http://www.cnblogs.com/westoslinux 如果你真

Linux入门基础之grep命令详解及正则表达式

grep命令是linux下经常使用的命令之一,能根据用户指定的模式(pattern)对文本进行过滤,显示出匹配到的行.其命令格式为: grep [OPTIONS] PATTERN [FILE] 例如:我们要查找网卡0中配置的IP地址(该文件路径: /etc/sysconfig/network-scripts/ifcfg-eth0)---grep 'IPADDR' /etc/sysconfig/network-scripts/ifcfg-eth0 (注:alias grep='grep --col

linux下find和grep命令详解

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以

linux grep命令详解

linux grep命令详解 http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. Unix的grep家族包括grep.egrep和fgrep.egrep和fgrep的命令只跟gr

grep命令详解

grep命令是linux下的行过滤工具,其参数繁多,下面就一一介绍个个参数的作用,希望对大家有所帮助.grep -- print lines matching a pattern (将符合样式的该行列出)◎语法: grep [options] PATTERN [FILE...] grep用以在file内文中比对相对应的部分,或是当没有指定档案时, 由标准输入中去比对. 在预设的情况下,grep会将符合样式的那一行列出.此外,还有两个程序是grep的变化型,egrep及fgrep. 其中egrep

文本处理工具之一grep命令详解

grep(Globel Search Regular Expression and Printing out the line)全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,是一个对行进行操作的搜索工作,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep. egrep表示扩展的grep,相比grep支持更多的元字符,"grep -E"相当于egrep.fgrep是fast grep,不支持元字符,但是搜索速度更快.

grep 命令详解及相关事例

一.匹配字符 .    匹配任意单个字符 [ ]  匹配指定范围内的任意字符 [^]  匹配飞指定范围内的任意字符 [:alpha:] 字母字符 [:lower:] 小写字母字符 [:upper:] 大写字母字符 [:digit:] 数字 [:alnum:] 字母数字字符 [:space:] 空白字符(禁止打印),如回车符.换行符.竖直制表符和换页符 [:punct:] 标点字符 [:cntrl:] 控制字符(禁止打印) [:print:] 可打印字符 使用时一般使用两个中括号,具体会在下面的例

Linux和Windows下ping命令详解

转:http://linux.chinaitlab.com/command/829332.html 一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i \ Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketS