Linux文本三剑客---grep经典案例

grep(从文本或字符串种过滤特定内容。)

  格式:Usage: grep [OPTION]... PATTERNS [FILE]...

常用选项:

-E 等价于 egrep 扩展正则
-i 忽略大小写
-w 匹配单词
-o 仅显示匹配内容
-r 递归匹配
-c 统计匹配的行数
-v 取反
-n 行号
-A n 后面n行
-B n 前面n行
-C n 前后多少行

文件格式:

第1列:城市位置编号。

第2列:月份。

第3列:存储代码及出库年份。

第4列:产品代号。

第5列:产品统一标价。

第6列:标识号。

第7列:合格数量。

file.txt文件内容:

48      Dec     3BC1977 LPSX   68.00   LVX2A   138

483     Sept    5AP1996 USP    65.00   LVX2C   189

47      Oct     3ZL1998 LPSX   43.00   KVM9D   512

219     dec     2CC1999 CAD    23.00   PLV2C   68

484     nov     7PL1996 CAD    49.00   PLV2C   234

483     may     5PA1998 USP    37.00   KVM9D   644

216     sept    3ZL1998 USP    86.00   KVM9E   234

1、含有“48”字符串的行的总数

#-c选项告诉grep只打印出匹配行的数量

[root@node1 ~]# grep -c '^48' file.txt    

2、显示含有“48”字符串的所有行的行号

#-n选项告诉grep除了显示匹配的行之外,还要显示每一行的行号

[root@node1 ~]# grep -n '^48' file.txt

3、精确匹配只含有“48”字符串的行

#-w选项告诉grep只选择那些包含形成整个单词的匹配项的行

[root@node1 ~]# grep -w 48 file.txt

4、抽取代码为484和483的城市位置

[root@node1 ~]# grep '48[34]' file.txt

5、显示使行首不是4或8

#在正则表达式中,^符号代表行的开头。当它放在方括号[]内部时,它表示否定

[root@node1 ~]# grep '^[48]' file.txt

[root@node1 ~]# grep '^[^48]' file.txt

6、显示含有九月份(Sept)的行grep

[root@node1 ~]# grep -i 'sept' file.txt

7   显示以K开头,以D结尾的所有代码

#在正则表达式中,.符号通常表示任意字符(除了换行符),*符号表示前面的元素重复0次或多次。所以,.*表示任意数量的任意字符。

[root@node1 ~]# grep 'K.*D' file.txt

8、显示头两个是大写字母,中间两个任意,并以C结尾的代码

[root@node1 ~]# grep -E '[A-Z]{2}..C' file.txt

9、查询【存储代码及出库年份(第三列)】所有以5开始以1996或1998结尾的所有记录

[root@node1 ~]# grep '5.*199[68]' file.txt

10、显示/etc/rc.d/rc.sysinit文件中以不区分大小的h开头的行;

[root@node1 ~]# grep -i '^h' /etc/passwd

11、显示/etc/passwd中以sh结尾的行;

#  $  表示行尾

[root@node1 ~]# grep 'sh$' /etc/passwd

12、显示/etc/fstab中以 #开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行;

#在正则表达式中,[:space:]是一个预定义的字符类,它匹配任何空白字符

[root@node1 ~]# egrep "^#[[:space:]]+[^[:space:]]*" /etc/fstab

13、查找/etc/rc.d/rc.local中包含“以to开始并以to结尾”的字串行;

[root@node1 ~]# egrep '(to).*\1' /etc/rc.d/rc.local

14、查找/etc/inittab中含有“以s开头,并以d结尾的单词”模式的行;

[root@node1 ~]# egrep -w  's[a-z]*d' /etc/inittab

15、显示/var/log/secure文件中包含“Failed”或“FAILED”的行

[root@node1 ~]# grep -i 'Faild' /var/log/secure

16、在/etc/passwd中取出默认shell为bash

[root@node1 ~]# grep 'bash$' /etc/passwd

17、以长格式列出/etc/目录下以ns开头、.conf结尾的文件信息

[root@node1 ~]#  ll /etc/ | grep '^.*/ns.*\.conf$'

18、匹配/etc/services中开头结尾字母一样的单词

root@node1 ~]# egrep -o -w "([a-z])[a-z]+\1"  /etc/services

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

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

相关文章

如何采集京东的商品-简数采集器

如何使用简数采集器批量采集京东的商品及相关描述呢? 简数采集器目前不支持采集京东的商品及相关信息,且不建议采集,请换个采集源采集。 简数采集器采集网页文章特别简单方便,不需要懂代码写采集规则的,只需输入要采…

【解刊】审稿人极其友好!中科院2区SCI,3个月录用,论文质量要求宽松!

计算机类 • 高分快刊 今天带来Springer旗下计算机领域高分快刊,有投稿经验作者表示期刊审稿人非常友好,具体情况一起来看看下文解析。如有投稿意向可重点关注: 01 期刊简介 Complex & Intelligent Systems ✅出版社:Sprin…

上岸秘籍来啦!TOGAF认证考试全攻略

上岸秘籍来啦!手把手教你如何顺利通过TOGAF认证考试! 🌟考试内容 TOGAF 9.2认证分为两个级别: ✅ TOGAF基础级:掌握标准术语、结构和基本概念,理解企业架构和核心标准。 ✅ TOGAF鉴定级:深入分析…

【知识点】设计模式

创建型 单例模式 Singleton:确保一个类只有一个实例,并提供该实例的全局访问点 使用一个私有构造方法、一个私有静态变量以及一个公有静态方法来实现。私有构造方法确保了不能通过构造方法来创建对象实例,只能通过公有静态方法返回唯一的私…

qt学习:Table widget控件

目录 头文件 实战 重新配置ui界面 添加头文件 在构造函数中添加初始化 显示方法 该实例是在sqlite项目上添加qt学习&#xff1a;QTSQL连接sqlite数据库增删改查-CSDN博客 头文件 #include <QTableWidgetItem> 实战 重新配置ui界面 用法介绍&#xff0c;可以双击…

UE5/UE4中3D汉字字体文字的创建与实现

本案例工程下载位置&#xff1a;https://mbd.pub/o/bread/ZZqVmJ9v 在虚幻引擎5&#xff08;UE5&#xff09;和虚幻引擎4&#xff08;UE4&#xff09;中&#xff0c;实现3D汉字字体的创建是一项常见的需求。 本文将详细介绍两种有效的方法&#xff1a; 1.通过TextRender配合Of…

《区块链简易速速上手小册》第9章:区块链的法律与监管(2024 最新版)

文章目录 9.1 法律框架和挑战9.1.1 基础知识9.1.2 主要案例&#xff1a;加密货币的监管9.1.3 拓展案例 1&#xff1a;跨国数据隐私和合规性9.1.4 拓展案例 2&#xff1a;智能合约的法律挑战 9.2 区块链的合规性问题9.2.1 基础知识9.2.2 主要案例&#xff1a;加密货币交易所的合…

DevOps落地笔记-03|用户故事:对用户需求达成共识的关键

上一讲主要跟你介绍了如何使用影响地图这个工具来进行产品定义、里程碑规划和用户需求分析。影响地图让我们始终以达到目标为核心&#xff0c;并让功能和需求不偏离该目标&#xff0c;从而让交付更有重点。可视化、结构化的思维导图为技术和业务人员创建了共享的整体视图&#…

769933-15-5,Biotin aniline,可以合成多种有机化合物和聚合物

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;769933-15-5&#xff0c;Biotin aniline&#xff0c;生物素苯胺&#xff0c;生物素-苯胺 一、基本信息 产品简介&#xff1a;Biotin Aniline&#xff0c;一种具有重要生物学功能的化合物&#xff0c;不仅参与了维生…

Docker多节点部署Minio分布式文件系统并测试

文章目录 一、前提准备二、文件配置1. .env2. env/minio.env3. docker-compose-minio.yml 三、测试四、Java测试1. 引入依赖2. 增删改 一、前提准备 准备如下文件夹和文件 ./ ├── docker-compose-minio.yml ├── .env ├── env │ ├── minio.env ├── minio │…

C#网络爬虫之TianyaCrawler实战经验分享

互联网时代的到来带来了大量的数据&#xff0c;而网络爬虫技术成为了获取这些数据的重要途径之一。如果你是一名C#开发者&#xff0c;那么你可能会对TianyaCrawler这个强大的网络爬虫框架感兴趣。本文将带你深入了解TianyaCrawler&#xff0c;分享它的技术概况、使用场景&#…

显示企业信息的SSL证书

随着互联网的发展&#xff0c;以及《网络安全法》、《数据安全法》、《个人信息保护法》等法律法规的出台&#xff0c;越来越多的企业意识到保护用户信息的重要性&#xff0c;尤其是对于涉及商业交易和个人数据的网站。为了保护网站安全和用户隐私&#xff0c;给网站部署SSL证书…

02-opencv简单实例效果和基本介绍-上

机器视觉概述 机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素…

从零开始复现GPT2(四):训练代码的实现

源码地址&#xff1a;https://gitee.com/guojialiang2023/gpt2 GPT2 模型Configuration类定义 Recorder训练框架Trainer训练代码GPT2TrainingSpec 类train_gpt2_model 函数add_subparser 函数 模型 Configuration 这段代码定义了一个名为 TrainConfig 的 Python 类&#xff0c…

【Java程序设计】【C00205】基于(JavaWeb+SSM)的商场停车服务管理系统(论文+PPT)

基于&#xff08;JavaWebSSM&#xff09;的商场停车服务管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的商场停车服务管理系统 本系统分为管理员和用户2个功能模块。 管理员&#xff1a;管理员进入主页面&…

Codeforces Round 922 (Div. 2)补题

Brick Wall&#xff08;Problem - A - Codeforces&#xff09; 题目大意&#xff1a;规定砖的大小为1*k&#xff08;k>2&#xff09;,现在有一面n*m的砖墙&#xff0c;n是墙高&#xff0c;m是墙宽&#xff0c;砖在砖墙中有两种放法&#xff0c;水平放置和竖直放置&#xff…

Flink 读取 Kafka 消息写入 Hudi 表无报错但没有写入任何记录的解决方法

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…

前端封装websocket类,实现消息注册和全局回调

实现消息注册和回调函数&#xff0c;实现全局使用同一个webscoket对象&#xff0c;并实现断线重连和心跳连接等功能&#xff0c;可以实现全局使用唯一实例&#xff0c;可以另外进行拓展配置 // WebSocket类对象 class WebSocketCli {// 构造函数constructor(url: string, opts…

北斗编码实现

本文根据北斗格网编码标注编写的测试代码, 北斗国标描述网址 http://c.gb688.cn/bzgk/gb/showGb?typeonline&hcno77B7EA113926D3247F9688324D4A91C8 我将北斗编码整理成一张图, 如下(代码在文末附上): #include "stdafx.h" #include <vector> #include &…

猫头虎博主第10期赠书活动:《写给大家看的Midjourney设计书》

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…