正则介绍以及grep

正则介绍:

我们主要用到的是其中的几个工具 grep/egrep,sed,awk

grep:

加上 i 以后就不会区分大小写,如果需要过滤的文件里面有大小写就需要加上 i

-v 就是取反

-r 遍历所有子目录    加上 r 以后就会过滤出在那一个目录下的所有需求。

-A 后面跟数字,过滤出符合要求的行以及下面n行

-B 同上,过滤出符合要求的行以及上面n行

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

grep示例:

 grep -n '^#' inittab  匹配出以#号开头的文件,加上v那么就是以非#号靠头的文件。一般查看日志文件可以加上v查看。   ^=以什么开头,如果在方括号里面那个就是非的意思。

grep '^[^a-zA-Z]' test.txt    = 过滤出以非字母开头的行。  ^=在方括号外面那么就是以什么开头,如果在方括号里面那么^就等于非的意思。

grep  'r.o' passwd  匹配带有r.o的行   . =任意一个字符

grep 'o*o' passwd   匹配带有 o*o 字符的行     * = 带有和前面字符相关的字符

grep '.*' passwd 匹配任意一个任意字符     . =任意一个字符   *=和前面字符相关的字符

grep -E 'o{2}' passwd       { } 里面的数字表示前面的字符重复了几次然后在进行匹配。

egrep 'o+o' passwd  匹配 +号前面一次或者多次的字符     + =前面字符的一次或者多次字符

egrep 'o?1' passwd   匹配 ?前面 1个或0个字符     ?=1个或0个字符

egrep  'root|nologin|998' passwd  匹配root或者nologin或者998     | =或者的意思,可以写多个

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java学习

面试题60(关于类局部变量的声明的理解)

面试题60 2018年1月20日 本期题目 (单选题)下列选项中哪一个是正确的? (1) public class Test (2) { (3) ...

2728
来自专栏程序员互动联盟

【编程基础】C++ Primer快速入门五:实用的模板库

除上篇博客介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类 型标准库。包括 string 和 vector,它们分别定义了字符串和矢量(集合)。s...

2735
来自专栏Golang语言社区

厚土Go学习笔记 | 12. if 语句

在 for 循环的最后一个代码演示中,有了 if 语句。 那个 if 语句是这样写的 if (i>3) { break } 有一点,你要知道。在Go语言...

33313
来自专栏java一日一条

在 Java 中如何使用 transient

Java语言的transient不像class、synchronized和其他熟悉的关键字那样众所周知,因而它会出现在一些面试题中。这篇文章我将为大家讲解tra...

382
来自专栏AzMark

Python 学习之元组列表

794
来自专栏java 成神之路

JVM基于栈的解释器执行原理

2507
来自专栏菩提树下的杨过

java基础:所有参数皆是按值参数

c#中对于参数的传递,有二种处理方式,默认情况下:值类型的参数,按值传递(即:方法体内的参数是原值的副本);引用类型的参数,"加ref关键字后“,按引用传递(即...

18110
来自专栏编程心路

Java基础-序列化与反序列化

序列化和反序列化在面试中也经常考查,下面就总结一下 Java 中的序列化和反序列化。

573
来自专栏吴伟祥

Bit-map java 原

Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。

581
来自专栏开发与安全

从零开始学C++之标准库类型(一):string 类简介和例程

一、标准库string类型 string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作 ,在VC中直接F1查看 ...

2100

扫码关注云+社区