Shell grep命令
一、简介
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命令相关推荐
- shell:后台运行amp;,日志重定向输出,nohup,grep命令
后台运行命令 在命令行加上&,表示进程到后台执行,如 cmd & 日志输出重定向命令,如 cmp > out.log & Linux默认定义两个变量:1和2; 1表示标准 ...
- Linux Shell脚本编程--grep命令
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- Linux shell基础(四)正则表达式与grep命令 beta
一.正则表达式 之前学习find命令时,就已经接触过一些简单的正则,那么我们现在来学习一些复杂的正则.首先,我们还是来复习什么是正则表达式,看这个教程先,一定要多看几遍,至少知道正则大概长什么样子.( ...
- linux命令行 正则,Linux shell基础(四)正则表达式与grep命令 beta
一.正则表达式 之前学习find命令时,就已经接触过一些简单的正则,那么我们现在来学习一些复杂的正则.首先,我们还是来复习什么是正则表达式,看这个教程先,一定要多看几遍,至少知道正则大概长什么样子.( ...
- shell之正则表达式及grep命令
目录 一.正则表达式 1.正则表达式概述 2.基础正则表达式 3.扩展正则表达式 二.grep命令 1.查找特定字符grep -n 'the' test.txt 2.利用中括号"[]&quo ...
- shell命令三剑客之grep命令详解
文章目录 1. 通配符(globbing) 2. grep 2.1 linux系统支持的三种形式的grep命令 3. 正则表达式 3.1 扩展正则表达式 4. IP的正则 4.1 ip地址的类别 4. ...
- 【Shell牛客刷题系列】SHELL5 打印空行的行号:一起学习grep命令搭配正则表达式的使用
该系列是基于牛客Shell题库,针对具体题目进行查漏补缺,学习相应的命令. 刷题链接:牛客题霸-Shell篇. 该系列文章都放到专栏下,专栏链接为:<专栏:Linux>.欢迎关注专栏~ 本 ...
- 每天学一点儿shell:Linux三剑客——grep命令
文章目录 前言 正则表达式 grep命令用法 grep命令实例 用法一:查找root字符串的行数以及内容 用法二:查找"core id"字符串以及前后2行内容 用法三:匹配包含&q ...
- SSH(Secure Shell Protocol)命令之 grep
grep是一个文本搜索工具,能够使用正则表达式搜索文本,并根据要求输出匹配的行数或者输出匹配的行,该命令的一般格式如下: grep [选项] pattern files 常用[选项]有: -? ?表 ...
最新文章
- 改变从内部开始:开发者与管理者的协作
- cookie 记住浏览历史
- 【C语言编程练习】5.10寻找水仙数
- 检测到USB设备插入写法1
- 启动tomcat遇到的问题整理
- 本地CDI限定词:@Any和@Default
- Java终于可以加入字符串
- angularjs 结构的两种写法(2)
- Ios精品源码,扁平化的ActionSheet仿花椒截屏demo文件签名重叠卡片滚动汽车仪表盘...
- 【三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 1260期】
- 超级好用的一个php上传图片类(随机名_缩略图_加水印),php教程_超级好用的一个php上传图片类(随机名,缩略图,加水印)...
- 相比android原生更好看,而且功能齐全的框架,XUI框架的配置和使用?
- matlab求3db函数,数字信号处理第二章习题26、30、32解答(包括matlab运行程序)
- C语言循环语句中 i++, ++i, i--, --i的使用
- 如何快速搭建一个 “简单模式” 的微服务架构
- 60 Linux 常用 命令
- oracle添加删除磁盘,oracle11gR2 ASM添加和删除磁盘
- 面试知识点——(金三银四你需要的是她)
- 用火狐浏览器模拟手机浏览器客户端的方法
- 双机热备、双机互备、双机双工之间的区别