linux下grep文件内容搜索工具及基本正则表达式详解

grep命令: 根据模式(文本字符和基本正则表达式的元字符组合而成之匹配条件)搜索文本,

并将符合模式的文本行显示出来。

格式:grep [选项] 匹配条件 文本名称

选项:  -i:  忽略大小写

-v: 显示没有被模式匹配到的行

-o:只显示被模式匹配到的字符串

--color: 搜索出来文件高亮度显示

-A: 匹配指定行的下几行

-B: 匹配指定行的上几行

-C: 匹配指定行的上下几行

-E: 扩展正则表达式 相当于egrep

正则表达式:Regular Expression, 简称REGEXP

注意:\是脱义符,防止与bash冲突,脱去其原有的意思

元字符

.: 匹配任意单个字符

[]: 匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

例如:特殊字符集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:],                   [:alnum:]

匹配次数

*: 匹配其前面的字符任意次

.*: 任意长度的任意字符

\?: 匹配其前面的字符1次或0次

\{a,d\}:匹配其前面的字符至少a次,至多d次

例如:\{1,\} 表示:前面字符至少匹配1次,最多不限

\{0,6\} 表示: 前面字符至少匹配0次,最多6次

举例说明:显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行

grep '^[[:space:]\{1,\}]' /boot/grub/grub.conf

位置锁定或叫锚定

^: 锁定行首,此字符后面的任意内容必须出现在行首

举例说明:显示/etc/passwd文件中r开头的行

grep '^r' /etc/passwd

$: 锁定行尾,此字符前面的任意内容必须出现在行尾

举例说明:显示/etc/passwd文件中bash结尾的行

grep 'bash$' /etc/passwd

^$: 表示 空白行

\<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

举例说明:显示/etc/passwd文件中以root开头并以root词结尾的行

grep '^root\>' /etc/passwd

分组:\(\)

例如:\(mn\)* 表示匹配任意mn组合字符

后向引用

\1:  引用第一个左括号以及与之对应的右括号所包括的所有内容

\2: 引用第二个左括号以及与之对应的右括号所包括的所有内容

\n: 引用第n个左括号以及与之对应的右括号所包括的所有内容

举例说明:显示/etc/inittab文件中以一数字开头同时以一个与开头相同数字结尾的行

grep '^\([0-9]\).*\1$' /etc/inittab

转载于:https://blog.51cto.com/willow/1762878

linux下grep文件内容搜索工具及基本正则表达式详解相关推荐

  1. linux下安装ab压力测试工具及ab命令详解

    yum -y install httpd-tools ab -v 查看ab版本 ab --help ab -n1000 -c 10 http://www.buruyouni.com/ http://w ...

  2. linux下查看文件内容的命令

    众所周知Linux中命令cat.more.less均可用来查看文件内容,主要区别有: cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况: ...

  3. 【PC工具】更新win10关闭更新工具,接速度最快最好用的文件内容搜索工具:searchmyfiles...

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天一个朋友向我咨询win10更新的关闭方法,主要是因为她的办公电脑经常提示更新,并且 ...

  4. 【PC工具】更新速度最快最好用的文件内容搜索工具:searchmyfiles

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 上次分享了everything及everything文件内容的查找方法,搜索文件名没问 ...

  5. Linux下查看文件内容

    Linux下查看文件内容的命令 1.cat 与 tac.nl cat的功能是将文件从第一行开始连续的将内容输出在屏幕上.但是当文件过大行数比较多时,屏幕无法全部容下时,只能看到一部分内容. cat [ ...

  6. linux系统下安装pip3,linux下安装python3和对应的pip环境教程详解

    linux下安装python3和对应的pip环境教程详解 1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译 ...

  7. (转)Linux下PS1、PS2、PS3、PS4使用详解

    Linux下PS1.PS2.PS3.PS4使用详解 原文:http://www.linuxidc.com/Linux/2016-10/136597.htm 1.PS1--默认提示符 如下所示,可以通过 ...

  8. linux复制文件scp命令,Linux 中的文件复制cp命令和scp命令详解

    Linux 中的文件复制cp命令和scp命令详解 在使用操作系统的使用过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是s ...

  9. linux 命令gpasswd -a,gpasswd命令_Linux gpasswd命令用法详解:Linux下工作组文件的管理工具...

    gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow管理工具. 语法gpasswd(选项)(参数) 选项-a:添加用户到组: -d:从组删除用户: -A:指定管理员 ...

最新文章

  1. Linux7-常用文件管理命令及系统变量基础
  2. Code Generate of Power Designer[转]
  3. Boost:bind绑定的回归测试
  4. svn搭建本地服务端
  5. javascript的stack overflow
  6. 近一个月来的学习总结(今天的你比昨天的你进步了吗?)
  7. 输入一个以回车结束的字符串,判断该字符串是否对称(正序与逆序相同,如aBc2cBa为对称字符串)
  8. 关于Python的一些学习笔记(小白式笔记,持续更新)
  9. 将TIMESTAMP类型的差值转化为秒的方法
  10. socket编程(七)
  11. 原生js更改html,原生js更改css样式的两种方式
  12. jsp 图形验证码 imageutils_java_jsp:java:生成图形验证码(纯数字)
  13. [转载] pickle:让python对象序列化
  14. dlib疲劳检测_基于OpenCV的实时睡意检测系统
  15. javascript多重继承
  16. 瑜伽扭身祈祷式动作教程
  17. 爬虫介绍+Jupyter Notebook
  18. 骨传导蓝牙耳机哪个牌子好?最受欢迎的五款骨传导蓝牙耳机
  19. 网络安全的就业及发展前景如何?
  20. Mysql学习记录【Mysql字符集】

热门文章

  1. c++用类实现高斯消元法求解线性方程组的解_高斯消元
  2. crammd5 php,使用CRAMMD5的SMTP身份验证
  3. php目录隔离,PHP 应用隔离的几种方法
  4. koa 接口返回数据_koa+node基础搭建到实现api接口
  5. mysql 8.0远程连接_mysql8.0 安装 修改密码 允许远程连接
  6. git常用的10个命令
  7. quartz启动 mysql报错_quartz启动报错,本地是好的,部署到服务器就不行了,大神求助~~...
  8. 双路服务器单路运行,架构设计-具体案例求解惑:两个单路服务器比一个双路服务器性能高100%?...
  9. mysql 命令删库名,MySQL控制台删除数据库命令 drop database 数据库名
  10. 对Vue生命周期的一些简单见解