查找工具grep|学习笔记

简介: 快速学习查找工具grep

开发者学堂课程【Linux 文本管理入门:查找工具grep】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/790


查找工具grep

内容简介:

一:工具简介

二:工具使用

三:常用场景

一:工具简介

◆工具简介

Gep全称是Global Regular Expression Print.,直译过来是全局正则表达式打印,顾名思义,此工具是通过使用正则表达式来匹配文件中的内容井将匹配到的内容打印出来,GPp工具有一系列变体,如grep ,agrep, egrep等等.区别在于是否使用了正则表达式,和使用了正则表达式集。

◆正则表达式

正则表达式实际上是一种模式,使用这种模式可以匹配对应的字符率集,正则表达式可以看做是一个有穷自动机,在Linux系统中的很多工具都使用到了正则表达式,比如之前讨论过的vm和我们之后要讨论的sed和awk。

二:工具使用

◆语法

如下图所示、grep的命令行参数非常之多,在此,我们主要介绍如下使用方式:

grep [-e expression][filename]

-e指定正则表达式

-i不区分大小写

-n显示行号

image.png

简单的正则表达式

◆“[]”匹配指定字符集

将匹配text1,text2,tex3

Is I grep -e 'text[ 123]’

◆字符串精确匹配

精确匹配"LNE”:

grep -e LINE. viminfo

◆“[^]”不匹配指定字符集

将不匹配text,text2,tex3,输出,tex4,text5

Is I grep -e ‘text’[ ^123]’

◆“*”重复匹配

将匹配t,to,too,(*表示>=30个)

Grep -e ‘to+’ text1

将匹配to,too(+表示>0个)

Grep -e ‘to+’ text1

◆".”匹配任意单个字符

将会输出文件全文:

grep-e’.’.viminfo

◆“^”头部匹記

指明正则表达式心须是头部匹配匹配所有开头的字符串

grep -e ' ^text’text1

◆“$”尾部匹配

指明正则表达式必须是尾部匹配匹配所有text结尾的字符串

grep -e 'text$’text1

◆转义字符

经过前述的讨论可知,正则表达式中,使用了很多字符,如“.””,””^””$”等等还有很多为例出来的字符。假如要匹配的字符串中有这些字符:转义字符可以解决这个问题,转义字符是一个反斜杠,下面的例子可以匹配以“¥test”结尾的字符串。

Grep -e’\$test$$’test1

三:常用场景

l C命名规范:

1)变量名的开头必须是字母或下划线,不能是数字

2)变量名中的字母是区分大小写的。比如a和A是不同的变量名,num和Num也是不同的变量名。

3)变量名绝对不可以是C语言关键字,这一点一定要记住!

4)变量名是字母、数字、下划线的组合。

c变量示例:[a-zA-Z_][a-zA-Z_0-9]*

l 在文件中查找邮箱:

假设有这样一个场景,当数据量很大时,想知道该文件中是否存在某个人的邮箱,但仅仅知道邮箱以.com结尾,并且邮箱中只含有字母和数字,要怎样才能减轻工作量:

可以先通过grep匹配出所有的以.com结尾的邮箱。

Grep’[a-zA-Z0-9]\+@[a-zA-Z0-9]\+\.com>'log.txt

相关文章
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1020 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1714 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
658 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
620 12
|
10天前
|
人工智能 自然语言处理 API
Next AI Draw.io:当AI遇见Draw.io图表绘制
Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
692 151