grep文本处理工具
grep是一款文本过滤工具,基于正则表达式进行模式匹配
sed:stream editor 流编辑器
awk:linux上实现为gawk,文本报告生成器(格式化文本)文本搜索工具,根据用户指定的模式,对目标文本逐行进行匹配检查,打印匹配到的行
基于Perl的正则表达式
使用格式:grep [选项] 匹配模式 file对象
选项说明:
–color=auto:对匹配到的文本着色,高亮显示
-i:忽略字符大小写
-o:仅显示匹配到的字符串本身
-v:方向匹配,匹配到的文本行不显示,不能匹配到的行显示
-E:表示支持使用扩展的正则表达式,等同于egrep
-q:静默模式,不输出任何信息到标准输出
-A(after):显示匹配到的行和其后面的行,给一个数字
grep -A 1 root /etc/passwd
-B(before):显示匹配到的行和其前面的行,给一个数字
grep -B 1 root /etc/passwd
-C(center):显示匹配到的行和其前后的行,给一个数字
grep -C 1 root /etc/passwd
字符匹配
. :匹配任意单个字符
[ ]:匹配指定范围内的任意单个字符
[^ ]:匹配指定范围外的任意当个字符
[[:digit:]] [[:lower:]] [[:upper:]] [[:alpha:]] [[:alnum:]] [[:punct:]] [[:space:]]
匹配次数
用在要指定其出现的次数的字符的后面,用于限制其前面字符出现的次数,默认为贪婪模式
*:表示匹配其前面的字符任意次,0,1,多次
例如:grep “x*y”
.*:匹配任意长度的任意字符
\?:匹配其前面的字符0次或一次,即其前面的字符是可有可无的
\+:匹配其前面的字符一次或多次,即其前面的字符要出现至少一次
\{m\}:精确匹配到其前面字符的m次
\{m,n\}:匹配其前面的字符至少m次,至多n次
\{0,n\}:至多n次
\{m,\}:至少m次
位置锚定
^:行首锚定,用于模式的最左边
$:行尾锚定,用于模式的最右边
^pattern$:用于pattern来匹配整行
^$:空白行
^[[:space:]]$:空行或空白字符的行
单词:非特殊字符组成的连续字符都称为单词
\< 或 \b:词首锚定,用于单词模式的左侧
\> 或 \b:词尾锚定,用于单词模式的右侧
\<pattern\>:匹配完整单词
egrep等效于grep -E ,基于扩展的正则表达式做模式匹配
支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E
-o , -i , -v , -q , -A , -B , -C ,
-G:表示支持基本正则表达式
扩展正则表达式的元字符
1:字符匹配
. :匹配任意单个字符
[ ]:匹配指定范围内的任意单个字符
[^ ]:匹配指定范围外的任意当个字符
[[:digit:]] [[:lower:]] [[:upper:]] [[:alpha:]] [[:alnum:]] [[:punct:]] [[:space:]]
2:次数匹配
*:任意次,0,1或多次
?:0次或1次,其前的字符是可有可无的
+:其前字符至少1次
{m}:其前的字符m次
{m,n}:至少m次,至多n次
{0,n}
{m,}
grep文本处理工具的更多相关文章
- [linux] grep 文本搜索工具
grep [option] pattern file Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular ...
- grep文本搜索工具详解
############grep命令############这个命令属于文本处理三大命令之一,强大的文本搜索工具(贪婪模式)全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达 ...
- shell脚本基础和grep文本处理工具企业应用4
文本处理工具: egrep: 支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E egrep [OPTIONS] PATTERN [FILE...] ...
- shell脚本基础和grep文本处理工具企业应用3
文本处理工具: linux上文本处理三剑客 grep,egrep,fgrep:文本过滤工具(模式:pattern)工具 grep:默认支持的是基本正则表达式: ...
- 系统资源监控——联用awk与grep文本处理工具,截取磁盘使用量字段
一.使用到的命令行 1.df : df -h #将磁盘使用量用表的形式呈现. 2.awk: awk '{print $5}' #默认分隔符是空格,$后的数字是指定从第几列开始截取. awk -F [] ...
- 二、grep文本搜索工具
grep命令作为Unix中用于文本搜索的神奇工具,能够接受正则表达式,生成各种格式的输出.除此外,它还有大量有趣的选项. # 搜索包含特定模式的文本行: [root@centos8 ~]#grep p ...
- shell脚本基础和grep文本处理工具企业应用2
shell脚本编程: 编程语言的分类: 根据运行方式 编译运行:源代码-->编译器(编译)-->程序文件 优 ...
- shell脚本基础和grep文本处理工具企业应用1
bash特性及bash脚本编程初步: 用户要跟计算机交互就需要有终端,比如:显示器.键鼠等,在终端有附着的接口程序 GUI:KDE.GNome.Xfce CLI:/etc/shells bash ...
- 三大文本处理工具grep、sed及awk的简单介绍
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...
随机推荐
- JavaWeb基础—邮件发送
一.JavaMail概述与入门 JavaMail-java提供的一组API,用来收发邮件 中间有个邮件服务器: 客户端发给邮件服务器,另外一收件客户端从邮件服务器下载(最稳的还是163,QQ有点不靠谱 ...
- PostgreSQL调整内存与IO的参数说明
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页 回到顶级页面:PostgreSQL索引页 [作者:高健@博客园 luckyjackgao ...
- novaclient开发中遇到的问题小结
1. 使用官网实例代码,并不能新建client; from novaclient import client nova = client.Client(VERSION, USERNAME, PASSW ...
- [并发并行]_[C/C++]_[C++标准库里的线程安全问题]
场景 1.写普通的程序时, 经常会使用cout来做输出, 每个进程只有一个控制台, 如果多线程调用cout时会出状况吗? 2.之所以研究cout会不会在并发下调用有问题, 是因为曾经有一个bug的崩溃 ...
- P4438 [HNOI/AHOI2018]道路
辣稽题目 毁我青春 耗我钱财. 设\(f[x][i][j]\)为从1号点走到x点经过i条公路j条铁路,子树的最小代价. \(f[leaf][i][j]=(A+i)(B+j)C\) \(f[x][i][ ...
- Dbzoj#3188. [Coci 2011]Upit
写道数据结构练练手哈哈哈 // It is made by XZZ #include<cstdio> #include<algorithm> #include<cstdl ...
- 【项目管理】 使用IntelliJ IDEA 将项目发布(提交)到GitLab
https://blog.csdn.net/zsq520520/article/details/51004721 gitlab地址: http://192.168.1.81:200 idea项目p ...
- CentOS 7.X下 -- 配置nginx正向代理支持https
环境说明: 本次测试使用的操作系统为:CentOS 7.2 x86 64位 最小化安装的操作系统,系统基础优化请参考:https://www.cnblogs.com/hei-ma/p/9506623. ...
- linux shell 压缩解压命令
.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gun ...
- deep learning loss总结
在深度学习中会遇到各种各样的任务,我们期望通过优化最终的loss使网络模型达到期望的效果,因此loss的选择是十分重要的. cross entropy loss cross entropy loss和 ...