Linux - 正则介绍_grep

什么是正则?
正则就是一串有规律的字符串 掌握好正则对于编写shell脚本有很大帮助 各种编程语言中都有正则,原理是一样的

grep [-cinvABC] ‘word‘ filename
-c 行数
-i 不区分大小写
-n 显示行号
-v 取反
-r 遍历所有子目录
-A 后面跟数字,过滤出符合要求的行以及下面n行
-B 同上,过滤出符合要求的行以及上面n行
-C 同上,同时过滤出符合要求的行以及上下各n行

公式:
grep ‘过滤词‘ 文件名
grep ‘root‘ passwd 在passwd文件里过滤出nologin,centos7里grep好的特点是,过来的关键词自动标红

grep -c ‘root‘ passwd #统计出现root过滤词的,有几行

grep -n ‘root‘ passwd #显示root过滤词在多少行出现的,并显示行号

grep -i ‘root‘ passwd 不区分‘过滤词的大小写‘

-v 取反 grep -v ‘root‘ passwd 有过滤词的,不显示。

-r 遍历所有子目录 #子目录里的过滤词也会过滤

-A 后面跟数字,过滤出过滤词所在的行,及A后面更得数字的行。

B 同上,过滤出符合要求的行以及上面n行
C 同上,同时过滤出符合要求的行以及上下各n行

grep -n ‘root‘ /etc/passwd
grep -nv ‘nologin‘ /etc/passwd

grep ‘[0-9]‘ passwd 列出任意一个0-9的数字

grep -v ‘[0-9]‘ passwd -v 取反, 任意一个0-9的数字不列出来。

grep -v ‘^#‘ passwd #^ ^ 代表以某某开头,例如:以#号开头 看配置文件,可以去掉以#开头的文件

grep -n ‘[^0-9]‘ passwd #非0-9,代表 不是数字
grep ‘^[^a-zA-Z]‘ test.txt #同上,非字母。 ^放在方括号里面,代表非
grep -v ‘^[^0-9]‘ passwd #以不是数字开头的行

grep ‘r.o‘ test.txt #r.o的任意的一个字符
grep ‘oo‘ test.txt # 值得是 一定要和前面的字符相关的,代表 o以前0次或多次
grep ‘.
‘ test.txt #.* 所有
egrep ‘o{2}‘ /etc/passwd # 正则里面,{}表示一个范围。左边的命令是匹配不到的,正确的写法应该下面这个:
grep ‘o{2}‘ /etc/passwd \进行脱意。 匹配有两个o的,如果不想写脱意\ 可以这样写:
egrep ‘o{2}‘ /etc/passwd = grep ‘o{2}‘ /etc/passwd =grep -E ‘o{2} /etc/passwd

egrep ‘o+t‘ /etc/passwd # +代表 加号o以前一次或多次,后面紧跟着t
egrep ‘o+‘ /etc/passwd = grep ‘o\0+‘ /etc/passwd

egrep ‘oo?‘ /etc/passwd #?值得是?前面字符重复的0次或1次,类似

egrep ‘root|nologin‘ /etc/passwd # | 或者的意思,
egrep ‘root|nologin‘ /etc/passwd = grep -E ‘root|nologin‘

总结: . 表示任意一个字符,,表示0个或多个字符, .通配 {}表示范围,花括号前面字符的范围,可以用小括号括起来。+表示+前面的字符一个或多个。?表示0个或1个?前面的字符,| 表示或者。

原文地址:http://blog.51cto.com/13451715/2300910

时间: 2024-10-03 19:50:46

Linux - 正则介绍_grep的相关文章

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

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

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.拷贝文件到当前目录:

六周第一次课 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 打印不符合要求的行,取反的意思 gre

正则介绍_grep

9.1 正则介绍grep上 正则是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串. 语法: grep [-cinvABC] 'word' filename -c :打印符合要求的行数 -i :忽略大小写 -n :在输出符合要求的行的同时连同行号一起输出 -v :打印不符合要求的行 -A :后跟一个数字(有无空格都可以),例如 –A2则表示打印符合要求的行以及下面两行 -B :后跟一个数字,例如 –B2 则表示打印符合要求的行以及上面两行 -C :后跟一个数字,例如 –C2 则表

9.1-9.3 正则介绍 grep上 中 下

六周第一次课(3月12日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data/ 9.1 正则介绍_grep(上) 介绍 本章将要学习 grep/egrep.sed.awk egrep是grep升级版 test1 [[email protected] ~]# mkdir grep [[email protected] ~]# cd

Linux CentOS7 VMware正则介绍、grep工具、egrep表达式

一.正则介绍 正则是学习shell脚本的必学的内容,正则学的好坏直接影响到shell编程能力. 正则表达式:使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.通常用来检索和替换那些符合某个模式的文本内容.正则表达式贯穿到整个运维日常,无论是查找某个文件,还是查询某个日志文件并分析其内容均用到. 正则表达式是一种思想,一种表示方法.常用的工具grep.sed.awk三剑客. 二.grep上 grep全称是Global Regular Expression Print,表示全局正则表达式版本

linux系统服务介绍

linux系统服务介绍 在windows系统中,我们可以打开任务管理器来打开或者关闭某些服务.在Linux系统下也同样有这样的需求,那么linux下怎么打开类似于windows下的"任务管理器"呢? linux系统下调整服务的启动和不启动有两种办法: 1.ntsysv命令 如果这个命令不存在 yum install -y ntsysv 安装好之后,截图如下: 进入到这个界面后,空格键来改变*和空,空就代表不启动 关闭一些不常用的服务 禁用: atd auditd haldaemon i

Linux入门介绍

Linux入门介绍 一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 Linux的应用 网络服务器 关键任务的应用(金融数据库.大型企业网管环境) 学术机构癿高效能运算任务 手持系统(PDA.手机.导航系统) 个人办公使用 Linux的吉祥物/Logo 企鹅(英文名:Tux),由来:因为Torvalds在小时候被企鹅咬过,因此印象非常深刻 在Linu