2019-09-24


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

转载于:https://www.cnblogs.com/fqxy/p/11578147.html

Linux 基本命令(十)--grep 常用命令相关推荐

  1. linux中强大且常用命令:find、grep

    为什么80%的码农都做不了架构师?>>>    linux中强大且常用命令:find.grep 转载于:https://my.oschina.net/michao/blog/7752 ...

  2. linux命令grep和find怎么用,Linux下find和grep常用命令及区别介绍

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空 ...

  3. 学习整理软测----(七)Linux基本介绍以及常用命令

    Linux没有盘符这个概念,只有一个根目录 / ,所有文件都在它下面 用户目录 位于/home/user称之为用户工作目录或家目录,表示方式: /home/user ~ Linux 主要目录速查表 / ...

  4. linux 查看服务器性能常用命令

    2019独角兽企业重金招聘Python工程师标准>>> linux 查看服务器性能常用命令 一.top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况, ...

  5. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  6. Linux基础概念及常用命令

    Linux基础概念及常用命令 文章目录 Linux基础概念及常用命令 1 Linux概述 1.1 为什么要学Linux 1.2 Linux简介 1.3 Linux 发行版 1.4 Linux 应用领域 ...

  7. Linux: 近100个常用命令大全

    1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件 -A 通-a,但不列出"."和".." -l 列出 ...

  8. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  9. 97 条 Linux 运维工程师常用命令总结

    97 条 Linux 运维工程师常用命令总结 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件-A 通-a,但不列出"." ...

  10. Linux的Ubuntu系统常用命令

    Linux的Ubuntu系统常用命令 学习摘要 一.基本命令: 命令 代码 ls 列出目录下项目 pwd 显示当前位置 cd 切换目录 mkdir 创建目录 rmdir 删除空目录 rm 删除文件或者 ...

最新文章

  1. 鸟哥的Linux私房菜(基础篇)- 第十八章、认识系统服务 (daemons)
  2. 自由自在公司进口食品呈现高端消费的趋势
  3. AntV中的饼状图重复渲染问题解决
  4. CMOS图像传感器——SmartSens
  5. sublime php语法检查
  6. Android如何回调编码后的音视频数据
  7. 信息学奥赛一本通C++语言——1125:矩阵乘法
  8. scala Ordering
  9. MySQL:由USE DB堵塞故障引发的思考
  10. ecshop 模板标签
  11. 重磅发布 | 图像图形学发展年度报告【中国图象图形学报第6期综述专刊】
  12. 【Windows】关于Windows Powershell找不到打不开修复方法
  13. 云计算与大数据考试重点
  14. 思维不要僵化在一种模式
  15. Win10 安装编译器|调试器 TDM-GCC/Mingw64
  16. win10计算机无法访问,如果win10系统的计算机磁盘无法打开并提示拒绝访问,该怎么办?...
  17. 为什么要用花焊盘?全连接和花连接有什么区别?梅花焊盘和泪滴焊盘各有什么作用?
  18. 财富自由:当你实现财富自由就无需为钱而工作!
  19. Final Test(FT测试)
  20. axure读取服务器文件,axure配置本地服务器

热门文章

  1. c语言错误spawning,C语言一直出现Error spawning cl.exe的解决办法
  2. mysql mgr 读写分离_MySQL Group Replication mgr 单主 proxysql 读写分离配置过程
  3. vue中使用antv/g6 绘制关系图、结构图_CAD小白必看!手把手教你如何看懂室内设计施工图图纸(平面立面剖面大样节点图)...
  4. octave与matlab语法,Octave与Matlab
  5. java drools5_【java规则引擎】drools6.5.0版本api简介
  6. mac系统升级 brew 是用不了_MAC平台10款效率工具推荐
  7. java聚合_Java™ 教程(聚合归纳操作)
  8. android自定义进度条_Android中的自定义进度栏
  9. python 字节字符串_Python字符串转换为字节,字节转换为字符串
  10. 中心管理cms服务器_如何查找网站使用的CMS,脚本,服务器,技术