linux进阶篇:文件查找的利器——grep命令+管道操作详解

Linux文件查找的利器——grep命令+管道操作详解

1 grep简介

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

2 grep常用用法

[root@www ~]grep [-acinv] [–color=auto] ‘搜寻字符串’ filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号

2.1 将/etc/passwd,有出现 root 的行取出来

grep root /etc/passwd
在这里插入图片描述
或cat /etc/passwd | grep root
在这里插入图片描述

2.2 将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号

grep -n root /etc/passwd
1:root❌0:0:root:/root:/bin/bash
10:operator❌11:0:operator:/root:/sbin/nologin
20:dockerroot❌997:994:Docker User:/var/lib/docker:/sbin/nologin
在这里插入图片描述

2.3 将/etc/passwd,将没有出现 root 的行取出来

grep -v root /etc/passwd
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
在这里插入图片描述

2.4 将/etc/passwd,将没有出现 root 和nologin的行取出来

grep -v root /etc/passwd | grep -v nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
ftptest❌1000:1000::/home/ftptest:/bin/bash
test-new❌1003:1003::/home/public/:/bin/bash
test1❌1004:1005::/home/test1:/bin/bash

在这里插入图片描述

2.5 用 dmesg 列出核心信息,再以 grep 找出内含 eth 那行,要将捉到的关键字显色,且加上行号来表示

[root@www ~]dmesg | grep -n ‘eth’
1797:[ 2.424494] e1000 0000:02:01.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:c8:10:d3
1798:[ 2.424498] e1000 0000:02:01.0 eth0: Intel® PRO/1000 Network Connection
在这里插入图片描述

2.6根据文件内容递归查找目录

grep -r ‘energywise’ * #在当前目录及其子目录下搜索’energywise’行的文件
在这里插入图片描述
在/etc目录递归搜索host, 内容太多,只截取部分
在这里插入图片描述
grep -l -r ‘energywise’ * #在当前目录及其子目录下搜索’energywise’行的文件,但是不显示匹配的行,只显示匹配的文件
在这里插入图片描述
这几个命令很实用,是查找文件的利器。有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面试八股文(更新中emsp;)(❤❤)

Java面试八股文 一. 基础篇1. Java语言特点2. 面向对象和面向过程的区别3. 八种基本数据类型的大小,以及他们的封装类4. 标识符的命名规则5. instanceof 关键字的作用6. Java自动装箱与拆箱面试题1: 以下代码会输出什么?面试题2:以…

Linux 网络测速

1.开发背景 网络测速,为了测试开发板的网络速度是否达标的通用测试方法 2.开发需求 搭建 iperf3 ,在 ubuntu 下安装服务端,在板卡上安装客户端,服务端和客户端互发 3.开发环境 ubuntu20.04 嵌入式开发板(debian 千…

用c++实现串匹配问题、选择排序

5.2.2 串匹配问题 【问题】 给定两个字符串S和T,在主串S中查找子串T的过程称为串匹配(string matching,也称模式匹配),T称为模式。在文本处理系统、操作系统、编译系统、数据库系统以及 Internet 信息检索系统中,串匹配是使用最频…

记录flume运行时报NullPointerException异常

【背景说明】 我要起一个将kafka上的topic_log主题中的数据上传到hdfs上的flume进程。 这是我的flume配置文件脚本: #定义组件 a1.sourcesr1 a1.channelsc1 a1.sinksk1#配置source1 a1.sources.r1.type org.apache.flume.source.kafka.KafkaSource a1.sources.r…

JAVA基础06-面向对象,构造器,递归以及对象创建时内存分析(内含代码与练习)

面向对象的概念以及特征 概念 实质上将 "数据" 与 "行为" 的过程, 以类的形式封装起来, 一切以对象为中心语言。 面向对象的程序设计过程中有两个重要概念:类(class)和对象(也称为实例)。 其中…

YOLO-World——S

文章目录 Abstract成果 MethodPre-training Formulation: Region-Text PairsModel ArchitectureYOLO DetectorText EncoderText Contrastive HeadTraining with Online VocabularyInference with Offline Vocabulary Re-parameterizable Vision-Language PANText-guided CSPLay…

强烈推荐 ——电脑终端管理系统

强烈推荐!电脑终端管理系统 电脑终端管理系统使用的目的是为了管控电脑上硬件和软件资产,以及员工使用电脑的行为,最终目的是为了保护企业资产和信息,以下是一些推荐的电脑终端管理系统,这些系统为企业提供了强大的功…

C语言基础入门案例(2)

目录 第一题:编写一个基于switch语句的等级评估程序 第二题:学生成绩评定 第三题:计算圆的周长和面积 第四题:将三个整数按从大到小顺序输出 第五题:打印九九乘法表 第一题:编写一个基于switch语句的等…

TXT文本批量高效编辑,支持给文章结尾进行添加上相同的结语,轻松应对多个文本

在信息爆炸的时代,我们每天面对大量的文本信息,无论是工作文档、新闻稿件还是社交媒体内容,都需要进行高效、精准的编辑。而XT文本批量编辑器正是您理想的助手,它支持批量高效编辑,更能在文章结尾添加上您想要的相同结…

Knowledge Editing for Large Language Models: A Survey

目录 IntroductionProblem Formulation评估指标Methods数据集应用讨论挑战未来方向 大型语言模型(LLMS)最近由于其出色的理解,分析和生成文本的能力而根据其广泛的知识和推理能力来改变了学术和工业景观。然而,LLM的一个主要缺点是…

韩顺平Java | C25 JDBC和连接池(上)

概述 JDBC概述:JDBC为访问不同数据库提供统一接口,为使用者屏蔽细节问题。Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作。 // 模拟代码 //JdbcInterface.java --Java规定的JDBC接口(方法) p…

计算机网络——抓取icmp包

前言 本博客是博主用于记录计算机网络实验的博客,如果疏忽出现错误,还望各位指正。 抓包 我们是用Wireshark工具来进行抓包的。 ​在安装时候一路打勾安装即可,不过最后那个因为是英文,一定要看清,点了立即重启&am…

采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示

采用C#.Net JavaScript 开发的云LIS系统源码 二级医院应用案例有演示 一、系统简介 云LIS是为区域医疗提供临床实验室信息服务的计算机应用程序,可协助区域内所有临床实验室相互协调并完成日常检验工作,对区域内的检验数据进行集中管理和共享&#xff0…

【UE5.1】使用MySQL and MariaDB Integration插件——(2)查询

在上一篇(【UE5.1】使用MySQL and MariaDB Integration插件——(1)连接MySQL)基础上继续实现查询MySQL数据表功能。 效果 步骤 1. 这里先新建一个控件蓝图,命名为“WBP_OperateDB”,该界面用于在连接数据…

Java——线程

程序 为实现某些功能,使用计算机语言编写的一系列指令(代码)的集合 特指静态的,安装在硬盘中的代码集合 进程 运行中的程序(被加载到内存中),是操作系统进行资源分配的最小单位 线程 进程可以进一步细化为线程,是进程内一个…

运费计算(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int distance, c;float weight, price, discount, fee;//提示用户&#xff1b;printf("请输入路程&#xff0c;单价…

自动驾驶时代的物联网与车载系统安全:挑战与应对策略

随着特斯拉CEO埃隆马斯克近日对未来出行景象的描绘——几乎所有汽车都将实现自动驾驶&#xff0c;这一愿景愈发接近现实。马斯克生动比喻&#xff0c;未来的乘客步入汽车就如同走进一部自动化的电梯&#xff0c;无需任何手动操作。这一转变预示着汽车行业正朝着高度智能化的方向…

C语言基础---指针的基本语法

概述 内存地址 在计算机内存中&#xff0c;每个存储单元都有一个唯一的地址(内存编号)。通俗理解&#xff0c;内存就是房间&#xff0c;地址就是门牌号 指针和指针变量 指针&#xff08;Pointer&#xff09;是一种特殊的变量类型&#xff0c;它用于存储内存地址。指针的实…

六、数据呈现

目录 6.1 理解输入输出 6.1.1 标准文件描述符 1 STDIN &#xff08;0&#xff09; 2 STDOUT &#xff08;1&#xff09; 3 STDERR&#xff08;2&#xff09; 6.1.2 重定向错误 1 只重定向错误 2 重定向错误和数据 6.2 在脚本中重定向输出 6.2.1 临时重定向 6.2.2 永…

腾讯云全新云服务器实例S8/M8正式上线,性能提升高达115%!

2024年4月15日&#xff0c;腾讯云正式上线第八代云服务器标准型实例 S8和内存型实例M8。基于自研服务器的高密设计与硬件升级&#xff0c;搭载第五代英特尔至强可扩展处理器的腾讯云实例S8/M8&#xff0c;计算性能大幅提升&#xff0c;对比腾讯云云服务器上代实例&#xff0c;整…