Linux常用命令——grep
grep 文本过滤工具
语法格式:grep 【options】【pattern】【file】 grep [参数] [匹配模式] [查找的文件]
注意:
1.grep 是 Linux 系统中最重要的命令之一,其功能是从文本文件或管道数据流中筛选匹配的行及数据。
2.grep 命令里的匹配模式或模式匹配,都是你要好找的东西,可以是普通的文字符号也可以是正则表达式。
参数选项:
参数 | 说明 |
---|---|
-c | 计算找到‘搜索字符串’的行数 |
-o | 指数出匹配的内容 |
-i | 不区分大小写 |
-n | 显示匹配内容的行号 |
-r | 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作 |
-v | 反向选择,即没有‘搜索字符串’内容的行 |
-l | 列出文件内容符合指定的范本样式的文件名称 |
-E | 扩展 grep,即 egrep,可以使用扩展正则表达式 |
--color=auto | 搜索关键词显示颜色 |
-V | 显示软件版本信息 |
案例文件:
案例一:
参数举例
参数 -c、-o、-i 举例
参数 -n 举例
注意:自己测试一些含有正则表达式的检索,发现 egrep 可以实现的,grep 也可以实现。但例如:egrep -v "^$|#" file1.txt ,grep 就实现不了,是因为 egrep 增加了额外的正则表达式元字符集的效果,而对于标准grep,这时在扩展元字符前面加 \ ,grep 便会自动启用扩展选项-E
案例二:
grep正则表达式元字符集
字符集 | 说明 | 案例 |
---|---|---|
\^ | 锚定行的开始 | 如:'^grep' 匹配所有以 grep 开头的行 |
$ | 锚定行的结束 | 如:'grep$' 匹配所有以 grep 结尾的行 |
. | 匹配一个非换行符的字符 | 如:'gr.p' 匹配 gr 后接一个任意字符,然后是 p |
* | 匹配零个或多个先前字符 | 如:' *grep' 匹配所有一个或多个空格后紧跟 grep 的行。 .* 一起用代表任意字符 |
[ ] | 匹配一个指定范围内的字符 | 如:'[Gg]rep' 匹配 Grep 和 grep |
[^ ] | 匹配一个不在指定范围内的字符 | 如:'[^A-FH-Z]rep' 匹配不包含 A-F 和 H-Z 的一个字母开头,紧跟 rep 的行 |
\(..\) | 标记匹配字符 | 如:'(love)',love 被标记为1 |
\< | 锚定单词的开始 | 如:'\<grep' 匹配包含以grep开头的单词的行 |
\> | 锚定单词的结束 | 如:'grep\>' 匹配包含以grep结尾的单词的行 |
x{m} | 连续重复字符 x,m 次 | 如:'o{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 的反置形式,匹配一个非单词字符 | 如:点号句号等。\W* 则可匹配多个 |
\b | 单词锁定符 | 如: '\bgrep\b' 只匹配 grep,即只能是 grep 这个单词,两边均为空格 |
案例三:
常见用法
字符集 \^、\<、\ \ 举例
命令 grep 在文件中查找字符
参数 -l 的使用
命令 egrep 与参数 -v 的及字符集的使用举例
注意:去掉空行与注释行
案例四:
递归搜索文件,参数 -r、-e、-o、-n 的使用举例
案例五:
grep搜索结果中包括或者排除指定文件
1.--exclude 在搜索结果中排除等号后所有文件
2.--exclude-from 在搜索结果中排除filelist文件列表里的文件
3.--include 只在所指定的目录文件中递归搜索字符 " and "
案例六:
使用 0 值字节后缀的 grep 与 xargs
注意:-Z 参数个人理解为取消换行符"以一行的形式显示内容",xargs -0 是来解决不能"以一行的形式执行显示内容“传参这个问题的,-Z通常和-l结合使用。(-Z选项来指定以0值字节作为终结符文件名(\0),xargs -0 读取输入并用0值字节终结符分隔文件名)
案例七:
打印出匹配文本之前或者之后的行
参数 -A、-B、-C 的使用举例
注意:如果匹配结果有多个,会用 " -- " 作为各匹配结果之间的分隔符,如果多个结果显示的行数相连或重叠则不会显示 " -- " 分隔符
转载于:https://blog.51cto.com/12384628/2162402
Linux常用命令——grep相关推荐
- Linux常用命令——grep用法
grep(global search regular expression(RE) and print out the line,是Linux系统一种强大的文本搜索工具,它能使用正则表达式搜索文本,并 ...
- linux常用命令(grep/cut/sed/which)
文章目录 grep cut sed which grep grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 所以注意:是打印匹配所在该行!! grep家族包括gre ...
- linux常用命令_Linux常用命令 unzip
zip 是最广泛使用的归档文件, 除了linux,windows也是非常的广泛.,支持无损数据压缩.zip 文件是包含一个或多个压缩文件或目录的数据容器. 接下来,我将解释如何使用 unzip 命令通 ...
- linux常用命令(转载)
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
- linux常用命令汇总
linux常用命令汇总,以便需要时快速查询 中文释义 相应命令 备注 在文件中查找 grep error catalina.out 在catalina.out文件中查找error信息 重启nginx ...
- LINUX常用命令(基础)
LINUX常用命令(基础) 收藏LINUX常用命令(基础) 1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可 ...
- DOS 和 Linux 常用命令的对比
此为转载文章,转自:http://www.huihoo.org/gnu_linux/ch-doslinux.html Red Hat Linux 9: Red Hat Linux 入门指南 后退 前进 ...
- Linux初学者接住了---Linux常用命令
前言 本文整理了Linux常用命令,分类整理,举例说明使用方法,希望为大家带来便利.命令严格区分大小写,一般是小写,tab键补全. Linux常用命令 前言 一.文件处理命令 1.命令格式 目录处理命 ...
- Linux 常用命令笔记
Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...
最新文章
- GARFIELD@11-21-2004
- android开发桌面源码,android launcher 源码 自己开发启动桌面
- 盒马mini带客流,老菜场攒烟火气,新老菜场交融相映成辉
- info nano shutdown
- Java性能优化之String字符串优化,BAT 面试官 如何面试
- 【081】◀▶ HTML CSS 学习
- python 正则表达式匹配数字或者小数点_Python 正则表达式 匹配小数
- DragVideo,一种在播放视频时,可以任意拖拽的方案
- CVPR 2021 TrafficQA
- 计算几何相关的面试题
- 港股通接口获取香港交易所上市股票的基本信息
- c语言编程单片机中的sbit,用sbit定义可位寻址的特殊功能寄存器时的地址转换-51单片机C编程...
- 积分第一中值定理与伏汝兰尼(Froullani)积分
- 如何在供应链金融中防范风险?
- 资深美女基金经理首次分享基金知识,好评如潮!!!
- android 微信摇一摇代码,Android实现微信摇一摇功能
- 博览安全圈:中学教材现淫秽网站孰之过
- unity 微信支付
- jmeter 阶梯式压测
- 解决Windows 7播放网页视频没有声音的问题