首页 > 其他分享 >文本搜索工具grep

文本搜索工具grep

时间:2024-07-21 18:41:53浏览次数:10  
标签:grep 正则表达式 模式 num 搜索 匹配 文本 ###

grep  是一个强大的文本搜索工具,广泛用于 Unix 和 Linux 系统中,用于搜索包含指定模式的行。它支持多种参数,可以帮助你定制搜索行为。以下是一些常用的  grep  参数:

### 基本参数
- **-i**:忽略大小写。
- **-v**:反向匹配,显示不匹配的行。
- **-c**:计数匹配行的数量,而不是显示匹配的内容。
- **-n**:显示匹配行及其行号。
- **-l**:仅列出含有匹配行的文件名,而不显示具体匹配的内容。
- **-L**:列出不含匹配行的文件名。

### 模式匹配
- **`-e`**:指定多个搜索模式。这对于单次搜索多个模式非常有用。
- **`-f`**:从文件读取模式,每行一个模式。
- **`-x`**:仅显示完全匹配整行的模式。

### 正则表达式
- **`-E`**:使用扩展正则表达式(ERE)进行匹配,无需对特殊字符进行转义。
- **`-F`**:将模式解释为固定字符串,而不是正则表达式。这对于搜索特定的字符串而不考虑其正则表达式意义时非常有用。
- **`-G`**:使用基本正则表达式(BRE)进行匹配。

### 输出控制
- **`-o`**:仅显示匹配的部分,而不是整行。
- **`-q`**:静默模式,不输出任何内容,仅通过退出状态码返回是否找到匹配。
- **`-s`**:禁止显示错误信息,例如无法读取的文件。

### 上下文控制
- **`-A num`**:显示匹配行后的`num`行。
- **`-B num`**:显示匹配行前的`num`行。
- **`-C num`**:显示匹配行前后各`num`行的内容,相当于 `-A num -B num` 的组合。

### 示例
假设你想在文件 `example.txt` 中查找包含 "error" 的所有行,并显示这些行的行号,你可以使用:

```bash
grep -n "error" example.txt
```

如果你想忽略大小写并计数有多少行包含单词 "error":

```bash
grep -i -c "error" example.txt
```

这些参数可以根据你的具体需要组合使用,以实现复杂的搜索需求。

标签:grep,正则表达式,模式,num,搜索,匹配,文本,###
From: https://www.cnblogs.com/melodyonaday/p/18314799

相关文章

  • 基于图形界面 vs. 基于文本的工具
    基于图形界面(GUI)和基于文本工具(如命令行工具和脚本)的区别基于图形界面限制:图形界面提供的功能通常受限于设计者预先定义的按钮、滑条和输入框等元素。用户只能执行这些界面上明确提供的操作。直观性:图形界面对初学者友好,操作直观,易于上手。复杂度:对于复杂的任务和自动化需求,......
  • 如何使用Python进行“google”“bing”“yahoo”搜索?
    我一直在谷歌上搜索要使用的API,但它们似乎都已弃用或不再使用。还有其他方法可以进行搜索并获取结果吗?我的目标是“重新创建”|||盲目搜索但我将使用一组预定义的术语来使用python进行搜索,而不是用户输入术语。感谢您的任何输入!Thanksforanyinput!......
  • 第2节课:文本内容与格式化——HTML中的文本处理技巧
    目录文本内容与格式化:段落和标题:构建文本基础段落`<p>`标题`<h1>`到`<h6>`格式化:强调和样式加粗`<b>`斜体`<i>`下划线`<u>`列表:组织内容无序列表`<ul>`有序列表`<ol>`定义列表`<dl>`实践:创建一个内容丰富的网页结语文本内容与格式化:在网页设计中,文本是......
  • Flask 应用程序在路线中搜索的结果返回上一个
    我很长一段时间都无法处理它。当我在地址-http://127.0.0.1:5000/search?key=mySearch中尝试第二个搜索(mySecondSearch)时,它会返回上一个搜索(mySearch)(但查询有效-我获取带有键mySecondSearch的列表的模板)如何获取带有与我的请求相关的键的地址......
  • C++文件操作-文本文件-读文件
    第一种#include<iostream>//1、包含头文件fstream#include<fstream>usingnamespacestd;voidtest01(){ //2、创建流对象 ifstreamifs; //3、打开文件并且判断是否打开成功 ifs.open("test.txt",ios::in); if(!ifs.is_open()) { cout<<"文件打开失......
  • vue2-常用富文本编辑器使用介绍
    mavon-editor安装命令[email protected]全局配置修改main.js文件,添加如下配置importmavonEditorfrom'mavon-editor'import'mavon-editor/dist/css/index.css'Vue.use(mavonEditor)组件使用不含视频上传功能<el-row><......
  • 提取文本中所有图片的链接地址
    从给定的文本中使用正则表达式提取出所有的图片链接地址代码importres='这是一段干扰信息这是一段干扰信息这是一段干扰信息这是一段干扰信息这是一段干扰信息这是一段干扰信息https://img1.baidu.com/it/u=272155668.1962281314&fm=26&fmt=auto这是一段干扰信息这是一......
  • 代码随想录算法训练营第十七天 | 530.二叉搜索树的最小绝对差 、 501.二叉搜索树中的
    530.二叉搜索树的最小绝对差 题目:.-力扣(LeetCode)思路:中序遍历搜索二叉树,使用双指针来计算绝对值。代码:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),......
  • UE富文本框RichTextBlock的内容设置不同的字体颜色
    一、新建富文本样式行1.新建数据表 2.选择富文本样式行 二、添加样式 三、应用1.设置样式 2.包裹字体 四、效果展示 可根据自己的样式去包裹文本。......
  • 忽略 CSV 文件开头的文本
    我正在尝试从网络下载CSV文件。但是,前20行是列定义,数据从第24行开始(中间的行是空白)。我的代码是:data=pd.read_csv(fileURL,skiprows=[23],on_bad_lines='skip')返回的是作为两列数据框的列定义,20k行数据被忽略如果没有-on_bad_lines-我收到错......