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’行的文件,但是不显示匹配的行,只显示匹配的文件
在这里插入图片描述
这几个命令很实用,是查找文件的利器。有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。

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

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

相关文章

Web 前端性能优化之六:构建优化

5、渲染优化 如果把浏览器呈现页面的整个过程一分为二,前面章节所讨论的诸如图像资源优化、加载优化,以及构建中如何压缩资源大小等,都可视为浏览器为呈现页面请求所需资源的部分;本章将主要关注浏览器获取到资源后,进…

【Linux】tcpdump P3 - 过滤和组织返回信息

文章目录 基于TCP标志的过滤器格式化 -X/-A额外的详细选项按协议(udp/tcp)过滤低详细输出 -q时间戳选项 本文继续展示帮助你过滤和组织tcpdump返回信息的功能。 基于TCP标志的过滤器 可以根据各种TCP标志来过滤TCP流量。这里是一个基于tcp-ack标志进行过滤的例子。 # tcpdump…

Linux swapoff命令教程:如何正确使用swapoff命令(附实例详解和注意事项)

Linux swapoff命令介绍 swapoff是一个用于在Linux系统中停用交换空间的命令。当系统的物理内存(RAM)达到其最大容量时,Linux会使用交换空间。如果系统需要更多的内存,而RAM不足,那么内存中的非活动页面会被移动到交换…

【汇编语言实战】求两组给定数组最大值

C语言描述该程序流程&#xff1a; #include <stdio.h> int main() {int arr1[]{11,33,23,542,12233,5443,267,456,234,453};int arr2[]{21,123,432,45,234,534,6517,678,879,1};int maxarr1[0];for(int i1;i<10;i){if(arr1[i]>max){maxarr1[i];}}printf("%d\…

团结引擎+OpenHarmony 2 xlua编译篇

文章目录 前言一、下载 xlua 源码二、OpenHarmony SDK三、开干 前言 提示&#xff1a;我们的 app 鸿蒙化过程 需要用到 xlua ,目前没有适配 OpenHarmony 平台&#xff0c;所以需要重新编译一下。编译有多种方式&#xff0c;但是我只会这一种 就是使用 cmake。 一、下载 xlua 源…

循环神经网络简介

卷积神经网络相当于人类的视觉&#xff0c;但是它并没有记忆能力&#xff0c;所以它只能处理一种特定的视觉任务&#xff0c;没办法根据以前的记忆来处理新的任务。比如&#xff0c;在一场电影中推断下一个时间点的场景&#xff0c;这个时候仅依赖于现在的场景还不够&#xff0…

Spring-boot context.initializer.classes 配置的使用

在Spring Boot中&#xff0c;context.initializer.classes是一个属性&#xff0c;允许你在application.properties或application.yml配置文件中指定一个或多个实现ApplicationContextInitializer接口的类。这些类可以在Spring应用上下文初始化之前执行一些自定义的初始化逻辑。…

C语言进阶|顺序表

✈顺序表的概念及结构 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串.. 线性表在逻辑上是线性结构&#xff0c;也就说是连…

cog predict docker unknown flag: --file

如图&#xff1a; 使用cog predict -i image“link-to-image” 出现docker unknown flag: --file的问题。 解决方法&#xff08;对我可行&#xff09;&#xff1a;切换cog版本。 这个是我一开始的cog安装命令&#xff08;大概是下的最新版&#xff1f;&#xff09;&#xff1…

自用---

零、环境配置 keil代码补全 keil pack包 cubemx配置安装包 一、LED cubemx配置PD2引脚为输出模式 uint16_t led_value 0x00; void led_set(uint8_t led_dis) {HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,led_dis<<8,GPIO_PIN_R…

vue3新手笔记

setup&#xff08;&#xff09;{}函数&#xff0c;是启动页面后&#xff0c;自动执行的一个函数。所有数据&#xff08;常量、变量&#xff09;、函数等等&#xff0c;都要return 出去。 ref函数&#xff1a;让页面上的数据响应式更新&#xff0c;不需要刷新页面&#xff1f; 对…

Docker篇(二)— Docker架构介绍

目录 一、Docker和虚拟机的区别二、Docker架构镜像和容器DockerHubDocker架构 小结 一、Docker和虚拟机的区别 Docker可以让一个应用在任何操作系统中非常方便的运行。而以前我们接触的虚拟机&#xff0c;也能在一个操作系统中&#xff0c;运行另外一个操作系统&#xff0c;保…

【GN】《Group Normalization》

ECCV-2018 Facebook AI Research 更多论文解读&#xff0c;可参考【Paper Reading】 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method5 Experiments5.1 Datasets and Metrics5.2 Image Classification in ImageNet5.3 Object Detecti…

基于李雅普诺夫稳定性分析的一阶、二阶系统MATLAB仿真模型

李雅普诺夫稳定性定理 假设系统状态方程&#xff1a; 零状态为其平衡状态&#xff0c;即f(0,t)0 t&#xff1e;t0。如果存在一个具有连续的一阶偏导数的标量函数V (x,t)&#xff0c;并且满足下述条件&#xff1a; 1、V (x,t)是正定的&#xff1b; 2、沿状态方程轨线的V (x…

使用 nginx 服务器部署Vue项目

安装nginx 文本代理服务器 centos下载 注意需要root权限 在CentOS服务器上下载Nginx可以通过以下步骤完成&#xff1a; 更新系统软件包列表&#xff1a; yum update 安装EPEL存储库&#xff08;Extra Packages for Enterprise Linux&#xff09;&#xff1a; yum install…

数据库的介绍:作用和特点

引言 数据库是计算机系统中用于存储、管理和检索数据的重要组成部分。在当今信息化时代&#xff0c;数据库扮演着至关重要的角色&#xff0c;它广泛应用于各个领域&#xff0c;如企业管理、电子商务、科学研究等。本文将介绍数据库的基本概念、作用以及其特点。 数据库的作用…

【Python】如何在Ubuntu环境中切换Python版本

【背景】 Private GPT项目安装需要用到python3.11版本,但是Windows装WSL后用: python3 --version检查发现目前python版本是3.8。 用如下命令安装python3.11: sh sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.11再次Check: py…

利用Flexbox和Margin实现智能布局:如何巧妙分配剩余空间,让你的网页设计更上一层楼?

1、演示 2、flex布局 Flex布局是一种用于Web开发的弹性盒子布局模型&#xff0c;它可以让容器内的子元素在空间分配、对齐和排列方面具有更大的灵活性。以下是Flex布局的基本用法&#xff1a; 容器属性&#xff1a; display: flex;&#xff1a;将容器指定为Flex布局。flex-dire…

Docker搭建daapd

使用 daapd Docker 镜像搭建音乐流媒体服务器 daapd 是一个开源的音乐流媒体服务器&#xff0c;它支持 AirPlay 和 iTunes 音乐共享协议&#xff0c;可以让用户通过网络访问和播放音乐。通过 Docker 镜像&#xff0c;可以在服务器上轻松部署 daapd&#xff0c;并将其作为家庭或…

POP3的要点:查看电子邮件需要知道什么

在您点击阅读时&#xff0c;是否曾想过您是如何如此轻松地查看电子邮件的&#xff1f;对我们来说&#xff0c;这听起来可能只是几秒钟的加载时间&#xff0c;但实际上幕后发生了许多事情。邮局协议&#xff08;POP3&#xff09;是一种应用层协议&#xff0c;电子邮件客户端使用…