one command each day on Linux

news2025/1/11 17:52:00

url address

1.12) grep

Linux下面查找文本命令grep, 类似于Window编辑器的ctrl+F查找我们想要的内容,
PS:对比learning skill

看一下它的基础用法,准备一个目录文件和文本文件,

打印出这个单词,或者包含有这个字母的所有字符串

[root@iZ2vc5lqzt23aweti4j777Z ~]# grep hello April29th2024/testfile1.txt
hello
helloworld

会发现,它是区分大小写的>>如果忽略大小写, -i (ignore),

-w表示精确匹配, (The “-w” option in grep is used to match the search pattern as a whole word, )

反向查找,
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep hello testfile1.txt
hello
helloworld
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -v hello testfile1.txt
Hello
Helloworld in the testfile1.txt
Today is a sunny day

(The -v option instructs grep to print all lines that do not contain or match the expression. The –v option tells grep to invert its output, meaning that instead of printing matching lines, do the opposite and print all of the lines that don’t match the expression.)

一个目录下面所有包含这个字符的文件
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -r hello /root/April29th2024
/root/April29th2024/testfile1.txt:hello
/root/April29th2024/testfile1.txt:helloworld
/root/April29th2024/testfile3.txt:hello
/root/April29th2024/testfile3.txt:helloworld
/root/April29th2024/testfile2.txt:hello
/root/April29th2024/testfile2.txt:helloworld in the testfile1.txt
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -r hello
testfile1.txt:hello
testfile1.txt:helloworld
testfile3.txt:hello
testfile3.txt:helloworld
testfile2.txt:hello
testfile2.txt:helloworld in the testfile1.txt
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]#

-r 当前文件夹下面包含字符的文件行,-lr, 查找文件夹和子文件夹下面,包含字符串的文件
grep -lr Explained: The grep -lr command searches for a specific pattern in all files within a directory and its subdirectories. It then lists the filenames of the files that contain the pattern. The -l option tells grep to only print the filenames, and the -r option tells it to search recursively through all subdirectories.

[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -r hello
testfile1.txt:hello
testfile1.txt:helloworld
testfile3.txt:hello
testfile3.txt:helloworld
testfile2.txt:hello
testfile2.txt:helloworld in the testfile1.txt
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -lr hello
testfile1.txt
subdirectory/testfile1.txt
testfile3.txt
testfile2.txt

-E 启用regularly expression, | means or

[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -E ‘hello|today’ testfile1.txt
hello
helloworld
,TDL
: to make search efficiency higher, we can use grep command with regular expression together,

在这里插入图片描述

{The abbreviation of “-r” in grep is “recursive.” This means that the grep command will search for the specified pattern in all files within the specified directory and its subdirectories.

📝 Other common grep abbreviations:

-i: Case-insensitive search
-v: Invert the match, showing lines that don’t match the pattern
-w: Match whole words only
-n: Show line numbers
-c: Show only the count of matching lines
-l: Show only the names of files with matching lines}

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

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

相关文章

【JAVA】part5-Java集合

Java 集合 Java集合概述 Java数组的局限性 数组初始化后大小不可变;数组只能按索引顺序存取。 Java的java.util包主要提供了以下三种类型的集合: List:一种有序列表的集合,例如,按索引排列的Student的List&#xff1b…

我们到底需要什么样的 BTC 一层协议?

在之前的一篇文章里 -- 《Runes 协议上线五天,大家在 FUD 什么?》,我简单分析了大家对 Runes 协议 FUD 的底层原因:目前的一层协议只是支持了毫无新鲜叙事的资产滥发,并没有实现让资产流动起来的更大价值。也正因为除了…

Vue阶段练习:初始化渲染、获取焦点

阶段练习主要承接Vue 生命周期-CSDN博客 ,学习完该部分内容后,进行自我检测,每个练习主要分为效果显示、需求分析、静态代码、完整代码、总结 四个部分,效果显示和准备代码已给出,我们需要完成“完整代码”部分。 练习…

C#调用skiasharp操作并绘制图片

之前学习ViewFaceCore时采用Panel控件和GDI将图片及识别出的人脸方框和关键点绘制出来,本文将其修改为基于SKControl和SKCanvas实现相同的显示效果并支持保存为本地图片。   新建Winform项目,在Nuget包管理器中搜索并安装一下SkiaSharp和ViewFaceCore…

Ubuntu安装Neo4j

Ubuntu(在线版) 更新软件源 sudo apt-get update 添加Neo4j官方存储库 wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo deb https://debian.neo4j.com stable latest | su…

.NET操作 Access (MSAccess)

注意:新项目推荐 Sqlite ,Access需要注意的东西太多了,比如OFFICE版本,是X86还是X64 连接字符串 ProviderMicrosoft.ACE.OleDB.15.0;Data Source"GetCurrentProjectPath"\\test.accdb//不同的office版本 连接字符串有…

Mellanox网卡打流命令ib_write_bw执行遇到Couldn‘t listen to port 18515原因与解决办法?

要点 要点: ib默认使用18515命令 相关命令: netstat -tuln | grep 18515 ib_write_bw --help |grep port# server ib_write_bw --ib-devmlx5_1 --port 88990 # client ib_write_bw --ib-devmlx5_0 1.1.1.1 --port88990现象: 根因&#xf…

Spring Boot的热部署工具“AND”Swagger测试工具

Spring Boot的热部署&Swagger测试页面的使用 热部署指的是在项目无需重启的情况下,只需要刷新页面,即可获得已经修改的样式或功能。要注意该工具一般用于开发环境,在生产环境中最好不要添加这个工具。 对于无需重启便可刷新这么方便的工…

JAVA面试题分享---多线程与线程池

多线程 什么是线程?线程和进程的区别?(了解) 线程:是进程的一个实体,是 cpu 调度和分派的基本单位,是比进程更小的 可以独立运行的基本单位。 进程:具有一定独立功能的程序关于某个数据集合上的一次运…

edge 入门基础了解使用

随着Windows 11的发布,Microsoft Edge也迎来了新的更新和改进。作为一名长期使用Edge的用户,我不仅注意到了这些表面的变化,还深入研究了Edge在Windows 11上的新特性和潜在优势。 快捷方式 查找框 在Microsoft Edge浏览器中,按…

经典网络解读——EfficientnetV2

论文:EfficientNetV2: Smaller Models and Faster Training(2021.4) 作者:Mingxing Tan, Quoc V. Le 链接:https://arxiv.org/abs/2104.00298 代码:https://github.com/google/automl/tree/master/efficien…

Docker容器---docker-Consul部署

一、Docker-consul简介 1、概述 consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的、服务发现和配置共享。采用Raft算法,用来保证服务的高可用。内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多…

一、交换网络基础

目录 1.交换机的转发行为 2.数据帧的类型 3.ARP地址解析步骤 Hub:物理层设备 交换机:数据链路层设备 1.交换机的转发行为 泛洪(Flooding)(有可能是单播帧(未知单播帧),也有可能是…

一文解决ArcGIS生成点和管段 含案例讲解

背景 在工作中,我们经常遇到要将坐标数据导入 GIS,生成点位,若是地理坐标系(经纬度),那么直接用 arcgis或者QGIS 导入数据就行了,可实际中总会遇到各种问题: 坐标数据集为大地 200…

SQLite数据库添加密码

背景: 最近发现软件在运行过程中,数据库文件暴露在外面,而且直接拷贝后就能打开,发现这样来说数据并不是很安全我使用的开发环境是VS QT,使用navicat创建了一个数据库准备 百度搜索了一些资料和博客,发现…

kube-prometheus部署到 k8s 集群

文章目录 **修改镜像地址****访问配置****修改 Prometheus 的 service****修改 Grafana 的 service****修改 Alertmanager 的 service****安装****Prometheus验证****Alertmanager验证****Grafana验证****卸载****Grafana显示时间问题** 或者配置ingress添加ingress访问grafana…

《深入解析WIndows操作系统》第9章读书笔记

1、闪存类型:常见的闪存类型有NOR和NAND。NOR闪存在操作上最接近RAM,它的每个字节都可以被独立地寻址,而NAND闪存则被组织成以块为单位,就像磁盘一样。NOR类型的闪存用来设计保存计算机主板上的BIOS,而NAND类型的闪存被…

Go语言的包管理工具go mod与之前的GOPATH有什么区别?

在深入探讨Go语言的包管理工具go mod与之前的GOPATH之间的区别之前,我们首先需要理解这两个概念各自的作用和背景。 GOPATH时代 在Go语言早期版本中,GOPATH是一个非常重要的环境变量。它告诉Go工具链在哪里查找你的Go代码、第三方库以及编译后的二进制…

字节跳动(社招)四面算法原题

TikTok 进展 又是一期定时汇报 TikTok 进展的推文。 上周,美国总统拜登签署了价值 950 亿美元的一揽子对外援助法案。 该法案涉及强制字节跳动剥离旗下应用 TikTok 美国业务,即 针对 TikTok 非卖即禁的"强抢行为"开始进入九个月(27…

JWT是什么?如何使用?

JWT是什么?如何使用? 前言什么是JWT?概念工作方式JWT的组成HeaderPayloadSignatrue 实战引入依赖自定义注解定义实体类定义一个JWT工具类业务校验并生成token定义拦截器配置拦截器定义接口方法并添加注解开始验证 使用场景注意事项 JWT与传统…