二、grep文本搜索工具
时间:2021-08-21
本文章向大家介绍二、grep文本搜索工具,主要包括二、grep文本搜索工具使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
grep命令作为Unix中用于文本搜索的神奇工具,能够接受正则表达式,生成各种格式的输出。除此外,它还有大量有趣的选项。
# 搜索包含特定模式的文本行:
[root@centos8 ~]#grep pattern filename
# 可以从stdin中读取:
[root@centos8 ~]#echo -e "this is a word\nnext line" | grep word
this is a word
# 单个grep命令也可以对多个文件进行搜索:
[root@centos8 ~]#grep "a_txt" file1,file2,file3 ...
# 用--color选项可以在输出行中着重标记出匹配到的单词:
[root@centos8 ~]#grep word a.txt --color=auto
nihoa word hell okd old edu
# grep命令只解释match_txt中的某些特殊字符。如果要使用正则表达式,需要添加-E选项————这意味着使用扩展正则表达式。或者也可以使用默认允许正则表达式的grep命令————egrep。
[root@centos8 ~]#grep -E "[a-z]+" filename
[root@centos8 ~]#egrep "[a-z]+" filename
# 使用选项-o 可以只输出文件中匹配到的文本部分:
[root@centos8 ~]#echo this is a line. | egrep -o "[a-z]+\."
line.
# 不加 o 的输出结果
[root@centos8 ~]#echo this is a line. | egrep "[a-z]+\."
this is a line.
# 选项 -v 要打印除包含match_txt行之外的所有行:
[root@centos8 ~]#grep -v math_txt filename
# 选项 -c 统计文件或文本中包含匹配字符串的行数:
[root@centos8 ~]#grep -c "word" a.txt
# 注意:-c 只是统计匹配行的数量,并不是匹配的次数,例如:
[root@centos8 ~]#echo -e "1 2 3 4\nhello\n5 6" > a.txt
[root@centos8 ~]#cat a.txt
1 2 3 4
hello
5 6
[root@centos8 ~]#egrep -c "[0-9]" a.txt
2
# 搜索多个文件并找出匹配文本位于哪一个文件中:
[root@centos8 ~]#grep -l linux a.txt b.txt
a.txt
b.txt
和-l 相反的选项是-L,它会返回一个不匹配的文件列表
原文地址:https://www.cnblogs.com/studyhub/p/15170563.html
- 母版页
- 微信公众平台接口报警功能 响应出问题随时发现
- WPF 获取本地IP地址
- 消灭假新闻:使用Scikit-Learn检测虚假新闻
- WPF 跳动的文字
- Sql批量修改帝国cms文章发布时间(需unix时间,否则会变为1970-01-01)
- socket 通信 多线程调用窗体(委托)的几个知识点,记录在案,以备查阅
- 微信公众平台改版 终于支持图文消息链接了
- 机器学习黑客系列:模型比较与选择
- asp.net :使用jquery 的ajax +WebService+json 实现无刷新去后台值
- 用A标签实现页面内容定位 点击链接跳到具体位置
- Seq2seq模型的一个变种网络:Pointer Network的简单介绍
- 框架设计原则和规范(三)
- 微信推广功能支持图片广告和投放外链广告
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- springboot开发spark-submit的java代码
- Kustomize ConfigMapGenerate自动生成ConfigMap中的坑
- Godot游戏开发实践之二:AI之寻路新方式
- Vue 侦听器 watch 扩展之立即触发回调、深度监听和注销
- WPF开发之以管理员身份运行
- 快速学习-Sentinel: 分布式系统的流量防卫兵
- Godot游戏开发实践之一:使用High Level Multiplayer API制作多人游戏(上)
- Godot游戏开发实践之一:使用High Level Multiplayer API制作多人游戏(下)
- ansible生产环境使用场景(二)
- Go 语言实现 RPC 调用
- django FileResponse 解决中文命名文件下载后乱码问题
- systemctl控制服务配置
- C++中的万能引用和完美转发
- 当把Markdown编辑器搬进博客
- 踩坑ThinkPHP5之模型对象返回的数据集如何转为数组