六周第一次课 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下


9.1 正则介绍_grep上
9.2 grep中
9.3 grep下



正则介绍_grep

  • 正则就是一串有规律的字符串
  • 掌握好正则对于编写shell脚本有很大帮助
  • 各种编程语言中都有正则,原理是一样的
  • 本章将要学习grep/egrep、sed、awk


grep/egrep命令

  • grep命令:过滤出指定关键字的行;
  • 格式:grep [参数] ‘字符’ filename
  • grep -n 显示符号要求的行,并显示行号
  • grep -c 打印符合要求的行数
  • grep -v 打印不符合要求的行,取反的意思
  • grep -r 会把目录下的所有文件全部遍历;-r针对的是目录,如果不加-r只能针对文件
  • grep -i 忽略大小写
  • grep -A2 打印符合要求的行以及下面两行
  • grep -B2 打印符合要求的行以及上面两行
  • grep -C2 打印符合要求的行以及上下两行
  • grep -w 匹配一个完整的单词
  • grep -E 特殊符号脱意==egrep
  • centos7中自带 --color显示颜色 ;
  • grep 跟特殊符号的话,要用单引号
  • grep --include 包含
  • grep -l 只打印出含有匹配字符串的文件名,不输出具体匹配行的数据


grep/egrep示例:

  • grep -n ‘root‘ test.txt
  • grep -nv ‘nologin‘ test.txt
  • grep ‘[0-9]‘/etc/inittab
  • grep -v ‘[0-9]‘/etc/inittab
  • grep -v ‘^#‘ /etc/inittab
  • grep -v ‘^#‘ /etc/inittab|grep -v ‘^$‘
  • grep ‘^[^a-zA-Z]‘ test.txt
  • grep ‘r.o‘ test.txt
  • grep ‘oo*‘ test.txt
  • grep ‘.*‘ test.txt
  • grep ‘o{2}‘ /etc/passwd
  • egrep ‘o{2}‘ /etc/passwd
  • egrep ‘o+‘ /etc/passwd
  • egrep ‘oo?‘ /etc/passwd
  • egrep ‘root|nologin‘ /etc/passwd
  • egrep ‘(oo){2}‘ /etc/passwd
  • [0-9]:这里的方括号,表示方括号里面的任意一个字符;只要有一个数字,不管是几,就算符合要求。


正则里面的特殊符号

  • 1 . 表示 任意一个字符
  • 2 * 表示 零个或多个前面的字符
  • 3 .* 表示零个或多个任意字符,空行也包含在内;以r开头o结尾。
  • 4 ? 表示0个或者1个前面的字符,使用的时候要\ 脱意一下
  • 5 + 表示一个或者多个+前面的字符
  • 6 | 在正则表达式里面表示或者,可以写多个,是特殊符号,要使用脱意 或者-E 或者 egrep
  • 7 () 括号表示一个整体,{1,3}大括号表示一个范围 ? +(){} |都是特殊符号,要使用必须脱意或者-E 或者egrep

    扩展
    把一个目录下,过滤所有.php文档中含有eval的行
    grep -r --include="
    .php" ‘eval‘ /data/

原文地址:http://blog.51cto.com/13650048/2107921

时间: 2024-11-06 19:14:17

六周第一次课 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下的相关文章

六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

六周第一次课(1月15日)9.1 正则介绍_grep上9.2 grep中9.3 grep下 在计算机科学中,对"正则表达式" 的定义是:它使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.在很多文本编辑器或其他工具里,正则表达式通常用来检索和替换那些符合某个模式的文本内容.许多程序设计语言也都支持利用正则表达式进行字符串操作.对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,还是查询某个日志文件并分析其容,都会用到正则表达式.其实正则表达式只是一种思

六周第一次课(1月15日)

六周第一次课(1月15日)9.1 正则介绍_grep上 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 2.格式grep [options] 3.主要参数[options]主要参数:-c:只输出匹配行的计数.-I:不区分大 小写(只适用于单字符).-h:查询多文件时不显示文件名.-l:查询多文件时只输出包

Linux20180425六周第一次课(4月25日)

六周第一次课(4月25日) 9.1 正则介绍_grep上9.2 grep中9.3 grep下 正则表达式 使用grep可以查找文件中的关键字. 语法: grep  "关键字" 文件名 有一些选项是可以选的. -n 是显示行号 -c显示行数,一共在这个文件中有多少行带有这个关键字 -v取反,就是多少行没有这个关键字,也就是除了关键字的那两行外 -A 数字,表示显示出关键字以及往下数字行的内容 -B 数字,是和A想反是往上数字行 -C 数字 就是既有上又有下,往上数字行 往下数字行 gre

六周第一次课(3月12日)

9.1 正则介绍_grep上9.2 grep中9.3 grep下 扩展把一个目录下,过滤所有.php文档中含有eval的行grep -r --include=".php" 'eval' /data/ 9.1 正则介绍_grep上 centos7自带color选项 加了color选项 如果不加,没有颜色. 查看行数. 查看行号 i的作用不区分大小写. 加-r把带root的文件,都列出来. 不加--r,只能过滤文件. 加-A可以过滤下两行. 加-B,是上两行. 加-C,是上下两行. 9.2

9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

9.1 正则介绍_grep上  9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data/ # 9.1 正则介绍 grep 上 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170822/222929890.png?imageslim) ``` [[email protected] ~]# ls 111  1_hea

9.1 正则介绍_grep(上);9.2 grep(中);9.3 grep(下)

扩展 把一个目录下,过滤所有*.php文档中含有eval的行 : # grep -r --include="*.php" 'eval' /data/ 9.1 正则介绍_grep(上) 正则是什么? ? 正则就是一串有规律的字符串 ? 掌握好正则对于编写shell脚本有很大帮助 ? 各种编程语言中都有正则,原理是一样的 1.创建目录:                    mkdir grep 2.进入目录:                    cd grep 3.拷贝文件到当前目录:

六周第一次课

grep -c显示行数 grep -n 显示行号 grep -i 不区分大小写grep -v 取反(把剩余的行过滤出来)grep -r 把子目录或者孙目录过滤一遍 grep -A 后面跟数字,过滤出符合要求的行以及下面的N行grep -B![]同上,过滤出符合球要的行以及上面N行grep -C 同上,同时过滤出发符合要求的 行及上下各N行 grep '[0-9]' passwd 表示方括号里面的任意一个字符 只要是带数字的行全部能列出来 grep -v '[0-9]' passwd 带数字的行我

五周第一次课 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4

7.1 安装软件包的三种方法7.2 rpm包介绍7.3 rpm工具用法7.4 yum工具用法7.5 yum搭建本地仓库(视频中ppt小错误: gpcheck改为gpgcheck,yum cean 改为 yum clean) 1 安装软件包的三种方法 # rpm工具 # yum 工具 # 源码包 2 rpm包介绍 要想使用rpm,首先要有rpm包#1.设置光驱并挂载 虚拟机右下角-CD--右键连接(首先先把光盘连接到linux系统中来) 2.# mount /dev/cdrom /mnt/ 挂载光

五周第一次课(3月5日)

五周第一次课(3月5日)7.1 安装软件包的三种方法7.2 rpm包介绍7.3 rpm工具用法7.4 yum工具用法7.5 yum搭建本地仓库(视频中ppt小错误: gpcheck改为gpgcheck,yum cean 改为 yum clean) 扩展 yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml 搭建局域网yum源 http://ask.apelearn.com/question/762