06文本搜索工具——grep以及正则表达式

一、grep工具的使用

可以通过返回状态码判断文件有没有这个数据,有状态码为0,没有为1。文件不存在状态码为2

-o:

二、正则表达式

1、基本正则表达式

.为匹配任意字符,..两个两个匹配任意字符,...三个三个匹配任意字符

*:对前一项重复0~多次

{m, n}指定匹配多少次,需要加\对{}进行转义

匹配一次、匹配两次:

最少一次,最多不管、最多两次,最少不限

匹配[]内的单一字符

不匹配[]中的任意一个字母,即除了h和w其他都匹配

匹配以h或w开头的行:

匹配不以h或w开头的行:

任意字符重复0~多次,\1表示第一个()中的字符,即第一个表达式,即love。即匹配love和love之间可以有任意0~多个字符的行

因为文件中test和ceshi之间是空格,而过滤的没有

匹配以bea开头的单词,不是行

匹配以ful结尾的单词

既有词首锚定,又有词尾锚定表示匹配这个单词

注意:不等同于grey beauty

等同于-w,按照单词匹配

\< \> 也可以用 \b \b

2、扩展正则表达式

匹配字符a或者r:使用基本正则或者扩展正则(|),扩展正则需要加-E

两者区别在于基本正则只能匹配单字符,扩展正则能匹配多字符:

?在命令行中表示匹配任意一个字符,???表示匹配任意三个字符

匹配he,l出现0~1次两种写法:

匹配he,l出现1次~多次两种写法:

相关推荐
卓琢1 小时前
(九)Shell 脚本(四):正则表达式、sed 和 awk 详解
linux·mysql·正则表达式
unix2linux6 小时前
Parade Series - SHA256
linux·python·mysql·shell
memories1987 小时前
正则表达式使用指南(内容详细,通俗易懂)
正则表达式
吾爱星辰16 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
前端李易安2 天前
正则表达式应用场景与常用正则验证方法汇总
正则表达式
HoneyMoose2 天前
正则表达式匹配英文字符
正则表达式
人生の三重奏3 天前
正则表达式(补充)
正则表达式
病树前头3 天前
一些以前使用的linux及shell命令,gnuplot脚本
linux·shell
沟沟里的农民3 天前
【正则表达式】粗浅学习
正则表达式
一路向北_.3 天前
CTFshow 命令执行 web29~web36(正则匹配绕过)
web安全·正则表达式·ctfshow