grep是用linux中用来进行文本搜索的工具,它使用的是正则表达式进行搜索。

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

grep的表达式有

^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。

$  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。

.  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。

*  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。

.*   #一起用代表任意字符。

[]   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。

[^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

\(..\)  #标记匹配字符,如'\(love\)',love被标记为1。

\

\>      #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。

x\{m\}  #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。

x\{m,\}  #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。

x\{m,n\}  #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。

\w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。

\W    #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。

\b    #单词锁定符,如: '\bgrep\b'只匹配grep。

grep也支持POXIS字符

[:alnum:]    #文字数字字符

[:alpha:]    #文字字符

[:digit:]    #数字字符

[:graph:]    #非空字符(非空格、控制字符)

[:lower:]    #小写字符

[:cntrl:]    #控制字符

[:print:]    #非空字符(包括空格)

[:punct:]    #标点符号

[:space:]    #所有空白字符(新行,空格,制表符)

[:upper:]    #大写字符

[:xdigit:]   #十六进制数字(0-9,a-f,A-F)

例子1 -c表示比配的行数

cat test.txt | grep aa -c

1

例子2 -n显示行号

cat test.txt | grep -n e

5:eeffgghh

例子3 直接搜索文件的内容

grep ff test.txt

eeffgghh

例子4 找出某个字符开头结尾的内容

zimingdeMacBook-Air:test ziming$ grep ^ee test.txt

eeffgghh

zimingdeMacBook-Air:test ziming$ grep ^[^ee] test.txt

aa

ss

iijjkkkllm

12345789

zimingdeMacBook-Air:test ziming$ grep hh$ test.txt

eeffgghh

例子5 找出或关系的多个关键字

grep -E 'hh|ss' test.txt

ss

eeffgghh

例子6 找出至少七个字母的内容

grep '[a-z]\{7\}' *.txt

eeffgghh

iijjkkkllm

参考文档:

linux中grep命令返回值,linux命令--grep命令相关推荐

  1. linux变量接收命令返回值,Linux Shell教程(一)

    函数返回值 函数返回值,可以显式增加return语句:如果不加,会将最后一条命令运行结果作为返回值. 函数返回值在调用该函数后通过 $? 来获得. 范例1 来看一个带有return语句的函数: #!/ ...

  2. linux中grep命令返回值,Linux 操作命令 grep

    1.简介 grep 是个很强大的命令,用来找到文件中的匹配文本,并且能够接受正则表达式和通配符,同时可以用多个 grep 命令选项来生成各种格式的输出 1.1 搜索/过滤 grep 的工作方式是这样的 ...

  3. linux中使用egrep取值ip地址,egrep命令_Linux egrep 命令用法详解:在文件内查找指定的字符串...

    egrep命令用于在文件内查找指定的字符串.egrep执行效果与grep -E相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法.egrep是用extended regu ...

  4. linux中signal函数返回值,signal函数、sigaction函数及信号集操作函数

    信号是与一定的进程相联系的.也就是说一个进程可以决定在进程中对哪些信号进行什 么样的处理.例如一个进程可以忽略某些信号而只处理其他一些信号另外一个进程还可以选择如何处理信号.总之这些总与特定的进程相联 ...

  5. 与 python 中的 os.system(cmd) 返回值与linux 命令返回值对应关系

    一.python中的 os.system(cmd)的返回值与linux命令返回值(具体参见本文附加内容)的关系 大家都习惯用os.systemv()函数执行linux命令,该函数的返回值十进制数(分别 ...

  6. linux里返回状态命令行,Shell $?获取函数返回值或者上一个命令的退出状态

    $? 是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值. 所谓退出状态,就是上一个命令执行后的返回结果.退出状态是一个数字,一般情况下,大部分命令执行成功会返回 0,失败返回 1, ...

  7. linux mv复制命令,linux中删除复制移动文件rm,mv,cp命令详解linux操作系统 -电脑资料...

    在linux中对文件的复制删除移动分别会使用到rm,mv,cp三个命令,下面我来给大家介绍一下rm,mv,cp命令对文件的常规操作吧, 先看实例 删除复制移动文件命令 Linux代码 rm -rf / ...

  8. linux mysql命令行导入_在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)...

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...

  9. linux 变量函数返回值,linux shell 自定义函数(定义、返回值、变量作用域)介绍...

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

最新文章

  1. ICLR2021 | 清华大学黄高团队:显存不够?不妨抛弃端到端训练
  2. Kafka设计解析(三):Kafka High Availability (下)--转
  3. shell 脚本执行 sql
  4. NumPy 数组学习手册·翻译完成
  5. Android P(3)---Android P版本刘海屏适配指南
  6. 消息人士:欧盟下月将对英伟达收购Arm交易展开正式调查
  7. MVC SignalR Hub实时聊天实时Web解决方案
  8. 【建站知识】如何让我们的网站更快?如何开启全站阿里域名加速?...
  9. 大觉寺到鹫峰线路_大觉寺到鹫峰怎么走
  10. 【渝粤教育】国家开放大学2018年秋季 2505T学前儿童社会教育 参考试题
  11. .NET简谈特性(代码属性)
  12. Springboot中常用的注解
  13. 外卖点餐系统源码|餐饮点餐源码开发
  14. NFC源码分析之P2P工作模式.
  15. ih5语言叫html5,iH5最专业的H5制作工具
  16. md5update java_JAVA实现MD5算法
  17. python 修改图片尺寸 留白_php 图片指定留白叠加缩放
  18. 关于电脑新建共享文件夹相关教程
  19. 《那些年啊,那些事——一个程序员的奋斗史》——100
  20. 28岁了,学习Java还好就业吗?

热门文章

  1. python各种插件安装_如何在各种环境下正确地安装python——Windows
  2. Go语言圣经阅读-第三周
  3. 树莓派+串口墨水电子屏幕+温度湿度传感器打造专属时钟
  4. MRPII/ERP对企业经营方式转变的影响(转)
  5. 《致我的这位朋友的一封信》 自述
  6. 购买华为云的学生服务器对于学生是否有用?
  7. 已解决-MacOS/MacBook pro/MacBook air重装系统-联网版
  8. Ajax向后端发送PUT请求的两种方法
  9. java计算机毕业设计汽车租赁系统演示录像源码+程序+lw文档+mysql数据库
  10. 【盘点2020】连续8个月霸榜,年度最佳公有云竟然是它?