一、简介

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

二、命令格式

2.1 格式

grep [options] pattern [file1, file2.........]

2.2 参数 [options]

  -a或--text   不要忽略二进制的数据。-A<显示列数>或--after-context=<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之后的内容。-b或--byte-offset   在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。-B<显示列数>或--before-context=<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前的内容。-c或--count   计算符合范本样式的列数。-C<显示列数>或--context=<显示列数>或-<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之前后的内容。-d<进行动作>或--directories=<进行动作>   当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。-e<范本样式>或--regexp=<范本样式>    指定字符串做为查找文件内容的范本样式。-E或--extended-regexp               将范本样式为延伸的普通表示法来使用。-f<范本文件>或--file=<范本文件>      指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。-F或--fixed-regexp   将范本样式视为固定字符串的列表。-G或--basic-regexp   将范本样式视为普通的表示法来使用。-h或--no-filename    在显示符合范本样式的那一列之前,不标示该列所属的文件名称。-H或--with-filename  在显示符合范本样式的那一列之前,表示该列所属的文件名称。-i或--ignore-case    忽略字符大小写的差别。-l或--file-with-matches     列出文件内容符合指定的范本样式的文件名称。-L或--files-without-match   列出文件内容不符合指定的范本样式的文件名称。-n或--line-number           在显示符合范本样式的那一列之前,标示出该列的列数编号。-q或--quiet或--silent       不显示任何信息。-r或--recursive             此参数的效果和指定“-d recurse”参数相同。-s或--no-messages           不显示错误信息。-v或--revert-match          反转查找。-V或--version               显示版本信息。-w或--word-regexp           只显示全字符合的列。-x或--line-regexp           只显示全列符合的列。-y                          此参数的效果和指定“-i”参数相同。--help                      在线帮助。

2.3 参数 [pattern]

该参数就是:一个正则表达式,关于正则表达式的具体细节,见:正则表达式-菜鸟教程

三、使用实例

如下是一些简单使用grep的命令,更多使用实例见文末的 "参考文献";

$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep ‘w\(es\)t.*\1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。

参考文献:

grep参数详解:shell脚本——grep详解 - 知乎

grep使用实例:shell脚本工具之grep命令_z597011036_51CTO博客

Shell grep命令相关推荐

  1. shell:后台运行amp;,日志重定向输出,nohup,grep命令

    后台运行命令 在命令行加上&,表示进程到后台执行,如 cmd & 日志输出重定向命令,如 cmp > out.log & Linux默认定义两个变量:1和2; 1表示标准 ...

  2. Linux Shell脚本编程--grep命令

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  3. Linux shell基础(四)正则表达式与grep命令 beta

    一.正则表达式 之前学习find命令时,就已经接触过一些简单的正则,那么我们现在来学习一些复杂的正则.首先,我们还是来复习什么是正则表达式,看这个教程先,一定要多看几遍,至少知道正则大概长什么样子.( ...

  4. linux命令行 正则,Linux shell基础(四)正则表达式与grep命令 beta

    一.正则表达式 之前学习find命令时,就已经接触过一些简单的正则,那么我们现在来学习一些复杂的正则.首先,我们还是来复习什么是正则表达式,看这个教程先,一定要多看几遍,至少知道正则大概长什么样子.( ...

  5. shell之正则表达式及grep命令

    目录 一.正则表达式 1.正则表达式概述 2.基础正则表达式 3.扩展正则表达式 二.grep命令 1.查找特定字符grep -n 'the' test.txt 2.利用中括号"[]&quo ...

  6. shell命令三剑客之grep命令详解

    文章目录 1. 通配符(globbing) 2. grep 2.1 linux系统支持的三种形式的grep命令 3. 正则表达式 3.1 扩展正则表达式 4. IP的正则 4.1 ip地址的类别 4. ...

  7. 【Shell牛客刷题系列】SHELL5 打印空行的行号:一起学习grep命令搭配正则表达式的使用

    该系列是基于牛客Shell题库,针对具体题目进行查漏补缺,学习相应的命令. 刷题链接:牛客题霸-Shell篇. 该系列文章都放到专栏下,专栏链接为:<专栏:Linux>.欢迎关注专栏~ 本 ...

  8. 每天学一点儿shell:Linux三剑客——grep命令

    文章目录 前言 正则表达式 grep命令用法 grep命令实例 用法一:查找root字符串的行数以及内容 用法二:查找"core id"字符串以及前后2行内容 用法三:匹配包含&q ...

  9. SSH(Secure Shell Protocol)命令之 grep

    grep是一个文本搜索工具,能够使用正则表达式搜索文本,并根据要求输出匹配的行数或者输出匹配的行,该命令的一般格式如下: grep [选项] pattern files 常用[选项]有: -?  ?表 ...

最新文章

  1. 改变从内部开始:开发者与管理者的协作
  2. cookie 记住浏览历史
  3. 【C语言编程练习】5.10寻找水仙数
  4. 检测到USB设备插入写法1
  5. 启动tomcat遇到的问题整理
  6. 本地CDI限定词:@Any和@Default
  7. Java终于可以加入字符串
  8. angularjs 结构的两种写法(2)
  9. Ios精品源码,扁平化的ActionSheet仿花椒截屏demo文件签名重叠卡片滚动汽车仪表盘...
  10. 【三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 1260期】
  11. 超级好用的一个php上传图片类(随机名_缩略图_加水印),php教程_超级好用的一个php上传图片类(随机名,缩略图,加水印)...
  12. 相比android原生更好看,而且功能齐全的框架,XUI框架的配置和使用?
  13. matlab求3db函数,数字信号处理第二章习题26、30、32解答(包括matlab运行程序)
  14. C语言循环语句中 i++, ++i, i--, --i的使用
  15. 如何快速搭建一个 “简单模式” 的微服务架构
  16. 60 Linux 常用 命令
  17. oracle添加删除磁盘,oracle11gR2 ASM添加和删除磁盘
  18. 面试知识点——(金三银四你需要的是她)
  19. 用火狐浏览器模拟手机浏览器客户端的方法
  20. 双机热备、双机互备、双机双工之间的区别

热门文章

  1. 分享 :CSS常见面试题
  2. 有关信息学竞赛的常见问题
  3. kali-dirBuster简单使用
  4. kube-apiserver源码-动态准入控制 admission webhook
  5. 软件测试需求评审目的,需求评审的重要性
  6. STM32 串口的使用
  7. go语言与区块链开发
  8. setInterval()与setTimeout() 详细
  9. clearcasse 命令
  10. react组件的render方法