linux+应用程序高级编程,linux-----shell高级编程----grep应用

 2023-09-10 阅读 30 评论 0

摘要:1. 背景在讲到shell编程时, 我们不得不提到正则表达式, 这个可以看似一门新的编程语言的"老家伙", 让我们很多刚入行的程序员来说又爱又恨, 爱因为它实在可以用最简短的语句写出强大的功能, 恨是因为它的语法与我们原来接触的任何一门高级编程语言来说都看似不似. 下面

1. 背景

在讲到shell编程时, 我们不得不提到正则表达式,  这个可以看似一门新的编程语言的"老家伙", 让我们很多刚入行的程序员来说又爱又恨, 爱因为它实在可以用最简短的语句写出强大的功能,  恨是因为它的语法与我们原来接触的任何一门高级编程语言来说都看似不似.  下面我们就开始主要来介绍正则

shell编辑器。2. 正则分类Basic正则:  出来的比较早, grep一般默认的就是Basic正则

Extended正则: 对Basic的扩展,   默认支持更多的转义字符

3. 基本语法

ed5f24379930851e3ab10c001713bb7f.png

shell高级编程。4. 数量限量符

3c6406e91de4b33f67e74605ae366ed4.png

5. 位置限定符

30766122daf1058e02470b4ac5ff7871.png

6. 其它特殊字符

13f9a3c0c0965771ddde2785903e7c58.png

shell grep。grep

1. 作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

shell程序设计,grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

2. 参数

grep [options]

shell eval、主要参数: linux下 grep --help可查看

-c:    只输出匹配行的计数

-i:    不区分大小写

-h:    查询多文件时不显示文件名

-l:    查询多文件时只输出包含匹配字符的文件名

-n:    显示匹配行级行号

-s:    不显示不存在或无匹配文件的错误信息

-v:    显示不包含匹配文本的所有行

--color=auto:    可以将找到的关键词部分加上颜色的显示

实战操作:

1、已知文件test.txt内容为[test][liyao][sea],请给出打 印test.txt内容时,不包含sea字符串的命令

[假设这个目录文件是存在/data/下]

方法一: grep -v "sea" /data/test.txt

a252e2e9d6b8dfd815a449e4aebe528c.png

方法一: cat /data/test.txt | grep -v "sea"

0a8ead9d231c4e294a2cb7f2f7100ebe.png对比两方法, 方法二比方法一效率慢一些,   但专业一些.

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/41598.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息