shell脚本之grep命令

shell脚本之grep命令

    • grep参数介绍
    • 例子

grep参数介绍

grep 是一个在 Shell 脚本中常用的命令,用于在文本文件中查找匹配指定模式的行。它的基本语法如下

grep [选项] 模式 [文件...]

其中,选项 是可选的,可以用来指定一些额外的参数,如忽略大小写、递归查找等;模式 是要查找的文本模式,可以使用正则表达式来定义;文件… 是要在其中查找的文件列表,可以指定多个文件,也可以使用通配符来匹配多个文件。

下面是一些常用的 grep 选项:

-i:忽略大小写进行匹配。
-r:递归地查找目录中的文件。
-v:反转匹配,输出不匹配模式的行。
-n:显示匹配行的行号。
-c:计算匹配行的数量。
-l:仅输出包含匹配行的文件名。
-L:仅输出不包含匹配行的文件名。
-o:仅输出匹配到的部分。
-q:静默模式,不输出任何信息。
-A num:输出匹配行及其后面的 num 行。
-B num:输出匹配行及其前面的 num 行。
-C num:输出匹配行及其前后各 num 行。
-e pattern:指定要查找的模式。
-f file:从文件中读取模式,每个模式占一行。
-E:使用扩展正则表达式。
-F:将模式视为固定字符串而非正则表达式。
-G:将模式视为基本正则表达式而非扩展正则表达式。
-P:使用 Perl 兼容的正则表达式。
-p:显示匹配行的内容前加上文件名。
-h:不显示文件名。
-H:在显示匹配行的内容时,将文件名放在每行的开头。
-x:仅显示匹配模式的文件名。
-s:不显示错误信息。
-m num:仅显示前 num 个匹配结果。
-b:仅显示匹配模式在文件中的位置,而非整行内容。
-u:仅显示不重复的匹配结果。
-U:将文件视为二进制文件处理。
-a:将二进制文件视为文本文件处理。
-I:忽略二进制文件中的匹配模式。
-Z:在输出中包含文件的分隔符。
–color=auto:对匹配结果进行颜色高亮显示。
–exclude=pattern:排除与指定模式匹配的文件和目录。
–include=pattern:仅搜索与指定模式匹配的文件和目录。
–binary-files=type:指定如何处理二进制文件,可选值有 binary、without-match、text 和 without-match。
–label=label:指定输入文件的标签,用于在输出中显示文件名。
–line-buffered:使输出行缓冲,以便实时显示匹配结果。
–null:在输出中使用空字符作为文件名分隔符,而不是换行符。
–open-files=num:指定同时打开的文件数量上限。
–parallel=num:在搜索时启用并行处理,指定并行处理的线程数。
–recursive-limit=num:限制递归搜索的深度。
–recursive-only:仅递归搜索目录,而非搜索文件内容。
–textconv=program:指定用于转换二进制文件的程序。
–version:显示 grep 命令的版本信息。
–with-filename:在输出中包含文件名信息,即使使用了 -h 选项也会显示文件名。

例子

在文件中查找包含特定字符串的行:

grep "search_string" file.txt

忽略大小写进行查找:

grep -i "search_string" file.txt

递归查找多个文件中的匹配行:

grep -r "search_string" directory/

计算匹配行的数量:

grep -c "search_string" file.txt

仅输出包含匹配行的文件名:

grep -l "search_string" directory/*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/79048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖去推爆款视频生成器怎么制作开发?--短视频矩阵系统研发

在当今的数字时代,短视频已经成为一种非常受欢迎的内容形式。人们通过观看短视频来获取娱乐、学习和营销信息。然而,制作优秀的爆款视频并不容易,这需要创意、技能和时间。为了简化这一过程,抖去推推出了一款爆款视频生成器&#…

【持续记录】深度学习环境配置

1080面对Transformer连勉强也算不上了,还是要去用小组公用的卡 完整记一个环境配置,方便后面自用✍️ nvidia-smi查看GPU信息 ** CUDA版本12.2 conda -V查询conda版本 22.9.0 新建conda环境 准备装python3.8 conda create --name caiman python3.8.2激…

【Prometheus】Prometheus+Grafana部署

Prometheus 概述 官网https://prometheus.io/docs/introduction/overview/ Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的…

从零开始的PICO教程(1)Pico游戏开发项目配置

从零开始的PICO教程(1)Pico游戏开发项目配置 文章目录 从零开始的PICO教程(1)Pico游戏开发项目配置一、前言1、大纲 二、成为Pico开发者1、注册 PICO 开发者帐号2、创建组织3、创建应用 三、导入PICO的SDK1、PICO设备开启 “开发者…

泰安双软申请指南

一、双软认证的定义 “双软认证”是指软件产品评估和软件企业评估。企业申请双软认证除了获得软件企业和软件产品的认证资质,同时也是对企业知识产权的一种保护方式,更可以让企业享受国家提供给软件行业的税收优惠政策 二、双软认证对企业的好处 1、软…

使用k8s helm离线部署spark-operator(私有仓库)

制作镜像 docker pull ghcr.io/googlecloudplatform/spark-operator:v1beta2-1.3.8-3.1.1 docker images docker save ImageID > ./spark.tar将制作的镜像上传到目的机器中&#xff0c;加载镜像 docker load < ./spark.tar打标签其中xxxx.xxx/xx/为私有仓库的地址 doc…

R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索

全文链接&#xff1a;https://tecdat.cn/?p33659 行为风险因素监测系统&#xff08;BRFSS&#xff09;是一项年度电话调查。BRFSS旨在确定成年人口中的风险因素并报告新兴趋势&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 例如&#xff0c;调查对…

非对称加密、解密原理及openssl中的RSA示例代码

一、【原理简介】非对称加密 非对称加密&#xff0c;也被称为公钥加密&#xff0c;其中使用一对相关的密钥&#xff1a;一个公钥和一个私钥。公钥用于加密数据&#xff0c;私钥用于解密数据。公钥可以公开分享&#xff0c;而私钥必须保密。 密钥生成: 当一个用户或设备希望使用…

Java 毕业设计-基于SpringBoot的在线文档管理系统

基于SpringBoot的在线文档管理系统 博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 技术栈简介 文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;sp…

MobaXterm工具软件使用介绍

大家好&#xff0c;我是虎哥&#xff0c;最近由于大部分嵌入式的系统都切换到了ubuntu20.04及更高版本的系统&#xff0c;导致我自己使用的Xshell也需要从5升级到7&#xff0c;但是Xshell7尽然开始收费了&#xff0c;网上也没有什么好用的破解版本&#xff0c;索性我就准备找个…

034:vue项目利用qrcodejs2生成二维码示例

第034个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

【C++】常用算术生成算法

0.前言 1.accumulate #include <iostream> using namespace std;// 常用算术生成算法 #include<vector> #include<numeric> //accumulate 的调用头文件void test01() {vector<int>v;for (int i 0; i < 100; i){v.push_back(i);}int total accumu…

Java 复习笔记 - Lambda 表达式 he 经典算法题

文章目录 Lambda表达式 概述&#xff08;一&#xff09;基本作用&#xff08;二&#xff09;特点 一&#xff0c;初识Java中的Lambda 表达式二&#xff0c;函数式编程三&#xff0c;省略写法四&#xff0c;练习&#xff1a;使用Lambda 表达式 简化Comparator接口的匿名形式综合…

TSINGSEE青犀视频AI算法助力构建城市市容·街面秩序管理解决方案

随着城市化进程加快&#xff0c;未经合理规划设置自然形成的马路市场越来越多&#xff0c;这不仅存在交通安全隐患&#xff0c;也造成了市容秩序混乱&#xff0c;严重影响城市市容面貌。 TSINGSEE青犀AI智能分析网关V3内部部署了几十种算法&#xff0c;包括人脸、人体、车辆、…

学习笔记:卸载nav2 navigation2导航

nav2二进制文件安装 nav2导航安装方式分为二进制文件安装和源码方式安装&#xff0c;如果想用最快的方式跑通代码&#xff0c;推荐二进制安装&#xff0c;不用编译&#xff0c;没有缺少依赖编译失败的烦恼&#xff0c; 安装命令&#xff1a; sudo apt install ros-$ROS_DISTR…

iTOP-RK3568开发板Linux 修改kernel logo

本文档配套资料在网盘资料“iTOP-3568 开发板\02_【iTOP-RK3568 开发板】开发资料\10_Linux 系统开发配套资料\05_Linux 修改内核 logo 配套资料”路径下。 5.3.1 准备 logo 系统默认内核 logo&#xff0c;如下图所示&#xff1a; 如 果 想 要 替 换 这 个 logo, 首 先 要 制…

神经网络-pytorch版本

pytorch神经网络基础 torch简介 torch和numpy import torch import numpy as np np_datanp.arange(6).reshape((2,3)) torch_datatorch.from_numpy(np_data) tensor2arraytorch_data.numpy() print(np_data,"\n",torch_data,"\n",tensor2array)torch的数…

2023年已过大半,光通信领域有哪些值得关注的技术趋势?

引言&#xff1a;上个星期&#xff0c;小枣君去深圳参加了CIOE中国光博会&#xff0c;获得了一些光通信领域的最新技术动态进展。今天&#xff0c;我来和大家做一个分享。 这次光博会&#xff0c;整个行业的参与热情很高。据主办方统计&#xff0c;为期三天的展会&#xff0c;现…

Android 11.0 系统system模块开启禁用adb push和adb pull传输文件功能

1.使用场景 在进行11.0的系统定制化开发中,在一些产品中由于一些开发的功能比较重要,防止技术点外泄在出货产品中,禁用 adb pull 和adb push等命令 来获取系统system下的jar 和apk 等文件,所以需要禁用这些命令 2.系统system模块开启禁用adb push和adb pull传输文件功能的…

球谐函数实现环境光照漫反射实践

该文章以及代码主要来自 图形学论文解析与复现&#xff1a;【论文复现】An Efficient Representation for Irradiance Environment Maps 作者&#xff1a;Monica的小甜甜 与原文的不同&#xff1a; 对一些有问题的地方进行了修改添加了注释对有疑问的地方添加了疑问点引入了其…