grep命令和正则表达式

grep命令和正则表达式的命令笔记

grep 支持正则表达式 支持字符串

grep 是一个文本过滤工具

egrp:基本正则表达式

fgrp:扩展正则表达式

grep的命令格式     “grep 目标   文件”

grep还支持变量    “grep $ 变量 文件”

grep还支持命令    “grep 命令   文件”

grep数标准输入,所有可以和管道符结合

标准输出 | grep标准输入

“grep 命令 文件” grep命令格式的示例

grep包含root的行 - 副本

“grep -v 目标 文件” 显示不包含目标的其他内容 。 下面表示非#号开头的行

grep -v非

grep命令和正则表达式

“grep -i 目标 文件” 忽略目标的大小写grep命令和正则表达式

grep -i忽略大小写 - 副本

 

“grep -n 目标 文件” 目标文件在第几行grep命令和正则表达式,并显示序列号

grep -n 看目标在什么行

 

“grep -c 目标 文件” 查看目标这个有几行grep命令和正则表达式

grep -c 看总共有几行 - 副本

“grep -o 目标 文件” 只显示相关的字符,一行的其他不显示grep命令和正则表达式只显示这个字符,不显示其他

“grep -q 目标 文件” 不显示输出的内容,可以用 echo $?查看, 非0代表没有找到目标grep命令和正则表达式grep -p 不显示结果 - 副本

“grep -A 目标 文件” A后面加个数字包含目标的后几行grep命令和正则表达式

grep -A 加数字显示后几行 - 副本

“grep -B 目标 文件”  B后面加数字显示包含目标的前几行grep命令和正则表达式grep -B 后面加个数字显示目标的前几行 - 副本

“grep -C 目标 文件” C前面加个数字显示包含目标的前后几行grep命令和正则表达式grep -C 后面加数字显示目标的前后几行 - 副本

 

“grep -e 目标1 -e 目标2 文件” 包括目标1或者目标2 或者的关系,一行不显示两目标grep命令和正则表达式grep -e 或者的关系 - 副本

“”grep -w 单词 文件“” 在文件里面是单词的目标 grep命令和正则表达式grep -w 是一单词为目标的 - 副本

字母数字加下划线都是字母的一部分,其他都不是字母的一部分grep命令和正则表达式grep-w加特殊字符不是单词 - 副本

grep -f 后面是跟的文件,将目标放在几个文件里面 ,然后执行grep -f grep命令和正则表达式grep -f 将目标写到一个文件

grep命令和正则表达式grep -f 执行的结果

 

正则表达式

处理文本内容 通过特定的符号来匹配或者控制

BRE 基本正则表达式

ERE 扩展正则表达式

元字符分类:字符匹配 ,匹配次数, 位置锚定, 分组

字符匹配

. 表示文件内容任意一个字符“a..d” abcd 两个..表示两个字符。a代表一个字符,.代表一个字符,c代表一个字符grep命令和正则表达式

正则表达式 字符。描述

[ . ] 点放在中括号 代表.点的本意

转义 \ . 代表. 点字符的本意,中间的点转义到原来.的意思grep命令和正则表达式grep 正则表达式字符转义 - 副本

grep “r[abc]t” 取中括号里面的任意的一个字符grep命令和正则表达式

grep正则表达式中括号任意一个字符

grep “r[^abc]t” 除了中括号里面的任意字符grep命令和正则表达式grep正则表达式除了中括号里面的任意一个字符

 

匹配次数 :某一个字符出现的次数

*表示字符前面出现任意次或者0次? *表示前面出现的相同字符是不确定的grep命令和正则表达式grep正则表达式前面的字母出现任意次

.* 代表任意长度的任意字符串, .代表一个字符,* 表示字符前面出现任意次或者0次grep命令和正则表达式grep正则表达式点星

\ ? 匹配字符前面出现一次或者0次 grep命令和正则表达式

grep正则表达式问号星前面的字符出现一次或者0次

\ + 匹配字符前面出现一次或者一次以上grep命令和正则表达式

grep 正则表达式加号出现一次或者一次以上 - 副本

\ {数字 \ } 精确单词匹配多少次,前面的o必须出现22次grep命令和正则表达式正则表达式精确匹配数字

\ {数字,\ } 大于多少次 ,前面的o必须出现10次以上grep命令和正则表达式grep正则表达式必须大于数字多少

\ [数字 , 数字 \ } 前面取得数字必须出现的次数大于多少并小于多少次:grep命令和正则表达式grep正则表达式数字大于多少小于多少

多个位置锚定

^ 表示行首 锚定 ^ root root开头的行grep命令和正则表达式

位置锚定root开头的行

$ 表示行尾 的行grep命令和正则表达式

grep位置锚定表示结尾的行

​ “\ < root” root位于一行的行左 以root词开头的行 grep命令和正则表达式

grep位置锚定词开头的行

​ “\ > root” root位于一行的行左右 词尾 grep命令和正则表达式

grep位置锚定以词结尾的行

“\ b目标 \b” 表示单词的边界grep命令和正则表达式

grep位置锚定b表示单词的边界

 

分组 表示的是一个单词出现几次

\ (wang\ ) 表示分组 , \ {3\ } 表示wang出现3次

grep命令和正则表达式grep分组wang出现3次

后向引用 \1 必须和前面的目标一样

grep命令和正则表达式grep分组后向引用grep分组例题grep分组例题2

grep命令和正则表达式

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95322

(0)
周亚飞周亚飞
上一篇 2018-04-07
下一篇 2018-04-08

相关推荐

  • shell脚本进阶

    一、for循环 for 变量名 in 列表;do 循环体 done   列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq [start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用; $@, $* &nbsp…

    Linux笔记 2018-05-14
  • 第七周作业

      1、创建一个10G分区,并格式为ext4文件系统;  (1) 要求其block大小为2048, 预留空间百分比为2,   卷标为MYDATA, 默认挂载属性包含acl;  (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 1.创建分区/dev/sdb1,容量为10G fdisk /dev/sdb…

    2018-05-02
  • 简述at和crontab命令

    制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00

    Linux笔记 2018-06-07
  • at & crontab命令

    at命令 功能 at命令用于执行未来某个时间点的某一次任务,任务的执行结果为以邮件的形式发送给用户 命令格式 at [OPTION] TIME 常用选项[OPTION] -l 查看等待运行的任务 atq 命令也可用户查看等待运行的任务 -f /path/from/file 从指定文件中读取作业任务,而不再交互式输入 -d # 删除指定的作业任务 -c 查看指…

    Linux笔记 2018-06-11
  • MySQL之日志管理

    MySQL数据库中支持多种日志类型,通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数据,本节内容将带你了解MySQL数据库中的日志管理

    2018-06-12
  • shell脚本进阶

    本节主要学习判断语句,循环语句还有函数,数组等一些脚本中常用的语法,这些会让你的脚本看起来更美观,易读性更高

    2018-05-11