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

1、语法参数

grep [options]

[options]主要参数:

-c:只输出匹配行的计数。
-i:表示不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行,表示反向查找。
--color=auto :可以将找到的关键词部分加上颜色的显示

2、实例:

1)查找包含“png”的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'png' linuxmi.py

2)查找不包含“png”的行

[linuxmi@linux:~/linuxmi迷]$ grep -vn 'png' linuxmi.py

3)查询na前面不是v的字符串

[linuxmi@linux:~/linuxmi迷]$ grep -n '[^v]na' linuxmi.py

4)查询na前面不是小写字母的字符串

[linuxmi@linux:~/linuxmi迷]$ grep -n '[^a-z]na' linuxmi.py

5)^匹配以某个字符开头的行。查询以ba开头的字符串

[linuxmi@linux:~/linuxmi迷]$ grep -n '^ba' linuxmi.py

6)[^]匹配未包含的一个任意字符。查询不以字母开头的字符串

[linuxmi@linux:~/linuxmi迷]$ grep -n '^[^a-zA-Z]' linuxmi.py

7)$匹配以某个字符结尾的行。查询以:结尾的字符串

[linuxmi@linux:~/linuxmi迷]$ grep -n '\.$' linuxmi.py

//其中小数点“.”具有特殊意义,所以需要使用转义字符“\”将具有特殊意义的字符转化为普通字符

8)“.”匹配除\r\n外的任意一个字符。查询l与k之间包含两个字符的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'l..k' linuxmi.py

9)查询包含连续e字母的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'eee*' linuxmi.py

//“*”表示的是重复零个或多个前面的单字符

10)查询以l开头以e结尾中间至少包含一个x的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'lxx*e' linuxmi.py

11)查询以l开头k结尾,中间的字符可有可无的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'l.*k' linuxmi.py

12){n}匹配确定的n次。查询包含两个e的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'e\{2\}' linuxmi.py

//“{}”是特殊字符需要用“\”转义

Linux下高效实用的grep命令相关推荐

  1. (转载)linux下的find文件查找命令与grep文件内容查找命令

    linux下的find文件查找命令与grep文件内容查找命令 转载于和感谢:linux下的find文件查找命令与grep文件内容查找命令 目录 1.前言 1.1 find命令和grep命令的区别 2. ...

  2. linux系统grep用法,Linux系统中怎么使用grep命令?

    在维护Linux系统时,我们常常需要在文本中搜索需要的东西,如果人为手动的去找那显然效率低下,那么如何才能快速找到所需要的文本呢?下面小编就以CentOS6.4系统为例为大家演示如何进行文本查找. 一 ...

  3. linux用户删组,如何在 Linux 下删除用户组(groupdel 命令)

    在 Linux 下,用户组用来组织和管理用户账户.用户组的目的主要是为了定义一系列权限,例如:针对一个资源的读,写,执行,并且将这些权限在用户组的用户之间共享. 一个新的用户组可以通过groupadd ...

  4. oracle 格式化命令,Linux下硬盘格式化的相关命令Partprobe

    Linux下硬盘格式化的相关命令Partprobe [root@db ~]# fdisk /dev/sdb The number of cylinders for this disk is set t ...

  5. Linux下压缩、解压命令、压缩比介绍说明

    Linux下压缩.解压命令很多灵活度很大,不像在windows下winrar或360压缩几乎各占版比江山,清一色的.rar .zip格式.Linux下常用的tar tar.gz tar.bz2 .Z等 ...

  6. Linux下常见的文本处理命令

    众所周知,在Linux下"一切皆文件"的原则,一切配置文件都可以以文本的方式进行编辑.存储.故对文本文件的操作能力,决定着你是否能够在Linux下操纵自如.今天,就写下几个关于Li ...

  7. linux下挂载和卸载的命令的用法:mount 、umount

    linux下挂载和卸载的命令的用法:mount .umount 将Windows C:盘(hda1)安装在Linux文件系统的/winsys目录下, 命令是:mount /dev/had1 /wins ...

  8. linux为什么用tar压缩,linux下tar压缩和解压命令用法详解

    linux下tar压缩和解压命令用法详解 2017-03-25 14:06 分享人:老牛 将/usr/local/test目录下所有文件仅打包,不压缩到 /usr/local/auto_bak/目下 ...

  9. linux如何在a休息时运行b,Linux下如何优雅地修正命令?

    原标题:Linux下如何优雅地修正命令? 来源:公众号[编程珠玑] 作者:守望先生 ID:shouwangxiansheng 如何快速纠正你的linux命令?我们在输入命令的时候,难免会出现输入命令错 ...

  10. linux常用调试,linux下gdb常用的调试命令

    用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法.接下来是小编为大家收集的linux下gdb常用的调试命令,希望能帮到大家. linux下gdb常用的调试命令 ...

最新文章

  1. Java分布式 RPC 框架性能大比拼,Dubbo真的最差吗?
  2. WIF基本原理(2)基于声明的标识模型
  3. Socket通用TCP通信协议设计及实现(防止粘包,可移植,可靠)
  4. 简要描述内部连接和外部连接之间的区别_创新性的M12推拉式连接器推拉标准—跨制造商自动化技术的里程碑...
  5. 【算法分析与设计】经典排序算法实现
  6. python3.5安装scrapy_在Python3.5下安装和测试Scrapy爬网站
  7. Laravel核心解读--Database(一)基础介绍
  8. 为推广苹果音乐服务 库克再度现身北京
  9. hive 修改cluster by算法_Hive入门实战(一)概述与使用
  10. IP地址定位计算机,怎么通过ip地址定位到具体位置
  11. java 注入为空_Spring @Autowired 注入为 null
  12. 信息技术专项习题汇总
  13. 最简单、最傻瓜化的虚拟主机管理软件-LuManager主机管理系统
  14. Android 测试工具集01
  15. Element ui 组件库 使用技巧。
  16. Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) | 解压安装
  17. MeVisLab模块化医学图像处理可视化软件
  18. 搭建全球地图数据服务中心
  19. LabVIEW与Web通讯
  20. Runtime.exec()执行linux shell

热门文章

  1. Eureka的自我保护模式
  2. URAL 1823. Ideal Gas(数学啊 )
  3. Vue学习之路---No.5(分享心得,欢迎批评指正)
  4. caffe的Matlab接口的使用方法
  5. android 自定义控件之下拉刷新源码详解
  6. Windows下SVN备份脚本
  7. 微信公众号用到的网站
  8. selenium + java po模式
  9. Xcode的插件的路径
  10. 0302借软件工程触IT