Shell脚本攻略:文本三剑客之grep

news2025/1/10 17:04:01

目录

一、理论

1.grep

2.sort

3.uniq

4.tr

5.cut

6.split

7.paste

二、实验

1. grep

2.sort

3.uniq

4.tr

5.cut

6.split

7.统计当前主机的连接状态

8.统计当前连接主机数


一、理论

1.grep

(1)概念

grep是Linux中最常用的”文本处理工具”之一,grep与sed、awk合称为Linux中的三剑客。

grep的全称为: Global search Regular Expression and Print out the line

全称中的”Global search”为全局搜索之意。

全称中的”Regular Expression”表示正则表达式。

所以,从grep的全称中可以了解到,grep是一个可以利用”正则表达式”进行”全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。

(2)语法格式

grep [选项]… 查找条件 目标文件

表1 grep常用选项

选项功能
-m匹配#次后停止
-v显示不被pattern匹配到的行,即取反
-i忽略字符大小写  #可有可无
-n显示匹配的行号
-c统计匹配的行数
-o仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A# after, 后#行 
-B# before, 前#行
-C# context, 前后各#行
-e实现多个选项间的逻辑or关系,如:grep –e ‘cat ' -e ‘dog' file
-w匹配整个单词
-E使用ERE,相当于egrep,使用扩展正则
-F不支持正则表达式
-ffile 根据模式文件,处理两个文件相同内容 把第一个文件作为匹配条件
-r递归目录,但不处理软链接
-R递归目录,但处理软链接

2.sort

(1)概念

sort命令以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序

(2)语法格式

sort 选项 参数
cat file | sort 选项

表2 sort常用选项

常用选项功能
f忽略大小写,默认会大写字母排在前面
b忽略每行前面的空格
n按照数字进行排序
r反向排序
u等同uniq,表示相同的数据仅显示一行,去重
t指定字段分隔符,默认使用tab键分隔
k指定排序字段
o<输出文件>:将排序后的结果转存至指定文件

3.uniq

(1)概念

uniq命令用于报告或者忽略文件中连续的重复行,常与sort命令结合使用。
(2)语法格式

uniq [选项] 参数  ​
cat 文件| uniq 选项

表3 uniq常用选项

选项功能
c统计连续重复的行的次数,并且合并重复的行
u显示仅出现一次的行(包括不连续的重复行)
d仅显示重复出现的行(必须是连续的重复行)

4.tr

 (1) 概念

常用于对来自标准输入的字符进行替换、压缩和删除

(2)语法格式

tr 选项 参数

表4 tr常用选项

选项功能
c保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换
d删除所有属于字符集1的字符
s将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1
t字符集2 替换 字符集1,不加也行

表5 参数 

参数功能
字符集1指定要转换或删除的原字符集。当执行转换操作时,
必须使用参数”字符集2“指定转换操作时,必须使用参数”字符集2“指定转换的目标字符集。
但执行删除操作时,不需要参数”字符集2“
字符集2指定要转换成的目标字符集

5.cut

(1)概念

快速裁剪命令,对字段进行截取和剪裁。

(2)语法格式

格式一:cut [选项] 参数
格式二:cat file | cut [选项] 

表6 cut常用选项

选项功能
d 指定分隔符(默认分隔符为Tab)
f按字段进行截取。指定第n个字段
b以字节为单位进行截取
c以字符为单位进行截取
-complement排除所指定的字段
–output-delimiter更改输出内容的分隔符

6.split

(1)概念

文件拆分,split命令用于在Linux下将大文件拆分为若干小文件。

(2)语法格式

split 选项 参数 原始文件 拆分后文件名前缀

表7 split常用选项 

选项功能
l指定行数
b指定文件大小

7.paste

(1)概念

文件合并,按照字段来进行文件的合并,左右合并。

(2)语法格式

paste   [选项]    文件1     文件2
                                                     表8 paste常用选项

选项功能
d用于指定文件的分隔符(默认情况下为制表符"\n")
s将列和行的内容进行互相交换

二、实验

1. grep

(1)多个匹配只取第一个

(2)统计匹配到的行数

(3)匹配到的行的后3行也显示出来

         匹配到的行的前3行也显示出来

        匹配到的行的前后各3行也显示出来

 

(4)显示包含root或者包含bash 的行

(5)匹配整个单词

 (6)匹配两个文件中内容相同的部分

 (7)递归过滤目录中的文件,但不处理软链接

(8)递归目录,但处理软链接

 

(9)将非空行写入到test.txt文件

过滤以b开头

过滤以/结尾

2.sort

(1)按数字大小进行排序

(2)倒序排列

(3)重复的数据只展示一次,相当于去重

 

(4)把整个passwd的文件,传给test.txt

(5)按照源文件的顺序传

3.uniq

(1) 只显示出现一次的行

(2)只显示连续重复的行

(3)对重复的数据行计数,并且去重输出

(4)只展示不重复的数据行

(5)只展示重复的数据行

4.tr

(1) 把"." ,替换成冒号

(2)大写替换成小写

 

 (3)保留了ab,替换了c,输出aa

 (4)删除ab,打印c

 (5)排序输出,压缩空行为一个

 (6)把":"替换为换行

 

5.cut

(1)以":"作为分隔符,指定第一个到第三个字段进行输出

(2) 指定以":"作为分隔符,但是删除了第二个字段进行输出

(3)将分隔符转换为@,进行输出

6.split

(1)指定文件大小,不需要大小写

(2)指定每2行拆分为1个文件

7.统计当前主机的连接状态

(1)获取所有tcp信息

 (2)取反不显示第一行

(3)以空格为分隔符,裁剪第1列

(4)排序

(5)去重(统计连续重复的行的次数,并且合并重复的行)

 

8.统计当前连接主机数

(1)获取tcp信息

 (2)多空格缩为1个空格

 (3)以空格为分隔符,裁剪第4列

 (4)排序

(5)去重(统计连续重复的行的次数,并且合并重复的行)

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

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

相关文章

Redis-主从复制以及哨兵

前言 ​ 要避免单点故障&#xff0c;即保证高可用&#xff0c;便需要冗余&#xff08;副本&#xff09;方式提供集群服务。而Redis 提供了主从库模式&#xff0c;以保证数据副本的一致&#xff0c;主从库之间采用的是读写分离的方式。在 Redis 主从集群中&#xff0c;哨兵机制…

共享打印机出现文件无法打印|0X00000709错误的解决方案|win7 win11

现在办公室通常会使用打印机共享功能&#xff0c;在使用打印机共享中会出现在[文件无法打印&#xff0c;因为在“\ip\打印机名 在Ne02&#xff1a;”上发生错误] 这时&#xff0c;我们输入相应IP重新共聚共享端打印机&#xff0c;就会出现“0X00000709”的错误。 回到共享端…

Rust in Action笔记 第三章 复合数据类型

通过#[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZI50wIh1-1685693144796)(null)]&#xff09;&#xff0c;不带感叹号的#[allow]仅为下一行代码提供属性&#xff0c;属性有多种分类&#xff0c;文中出现的allow属性称为诊断属性&#xff08;Diag…

僵尸网络检测数据集CTU-13介绍及使用

首先感谢爱学习的大白菜爱学习的大白菜的博客_CSDN博客-刷题,ACM之路,机器学习领域博主对CTU-13数据集的描述的翻译&#xff0c;这使得后面对这份数据集的理解更加容易。 参考CTU-13数据集_爱学习的大白菜的博客-CSDN博客 由于要做僵尸网络检测的工作&#xff0c;但是没有相关…

权限维持-HOOK-DLL加载

前言 继续来研究关于权限维持的方法&#xff0c;这里希望与各位一起加油。 这里的HOOK其实指的就是Hook PasswordChangeNotify 其中PasswordChangeNotify是一个函数&#xff0c;如果修改的密码符合要求&#xff0c;那么PasswordChangeNotify在系统上同步更新密码&#xff0c;然…

网讯1860网卡网络流控导致网络异常问题

1、背景介绍 目前使用的飞腾平台中采用国产化WX1860千兆网卡芯片&#xff0c;交换芯片采用盛科的CTC8096。示意图如下&#xff1a; 当其中一块飞腾系统异常时&#xff0c;发现整个平台内所有的千兆网均出现异常&#xff0c;任意两个飞腾千兆网均无法ping通。 2、问题排查 一…

什么是边缘计算网关以及什么是边缘计算?

边缘计算 边缘计算是一种分布式计算范例&#xff0c;使计算任务从数据中心或云端移向离数据源更近的地方&#xff0c;即网络的"边缘"。这样做的目的是降低网络延迟&#xff0c;提高数据处理速度&#xff0c;同时减少不必要的数据传输&#xff0c;节省带宽和存储资源。…

如何实现折起来的效果

如何实现范围裁剪和旋转效果。 日常 我还是希望自己的博客能够存在一些温度&#xff0c;而不是冷冰冰的技术分享&#xff0c;我希望留下专属于我自己的个性&#xff0c;就像鸿洋和郭霖的公众号一样。他们会在自己的博客顶端随便写一下最近的新闻什么的&#xff0c;而我不同&a…

msvcr110.dll丢失的解决方法哪种好,推荐这个4种解决方法

Msvcr110.dll是Microsoft Visual Studio 2012的运行时组件之一。这个DLL文件包含一些用于Windows操作系统的C函数库。当程序需要这些函数时&#xff0c;它们会被加载到内存中&#xff0c;以便程序可以使用它们。 当计算机提示“msvcr110.dll丢失”时&#xff0c;可能出现以下影…

基于matlab使用接收机工作特征 (ROC) 曲线评估相干和非相干系统性能

一、前言 此示例说明如何使用接收机工作特征 &#xff08;ROC&#xff09; 曲线评估相干和非相干系统的性能。该示例假设检测器在加性复杂高斯白噪声环境中工作。 ROC曲线通常用于评估雷达或声纳探测器的性能。ROC 曲线是给定信噪比 &#xff08;SNR&#xff09; 的检测概率 &a…

介绍CSDN的阅览器

大家好&#xff01;今天给大家一款由csdn官方打造的一个界面阅览器 意思就是靠我们自带的阅览器改变他的外观方式&#xff0c;这就是我用了CSDN阅览器之后的效果图 然后我们也可以清晰看到我们整个界面&#xff0c;对于我们经常写csdn博客的小伙伴来说是很方便&#xff0c;因为…

配电室动环监控系统的功能与应用

来源&#xff1a;山东仁科www.rkckth.com 六月天的 【配电室】&#xff0c;表面 “ 风平浪静 ”&#xff0c;实则 “ 多面夹击 ”。 步入六月份的夏季由高温掌控&#xff0c;为营造舒适凉爽的生活环境&#xff0c;人们的用电量也进入“汛期”&#xff0c;急速上涨&#xff0c…

亚信前端面试真题

目录 1.如何设置一个元素不可见&#xff1f; 2.谷歌浏览器设置比12px还小的字体&#xff1f; 3.深拷贝实现方法&#xff1f;??????? 4.防抖节流实现原理???? 5.遍历循环数组方法&#xff1f;???? 6.vue的双向绑定&#xff1f;???? 7.compute和watche…

【MySQL高级篇笔记-InnoDB数据存储结构 (中) 】

此笔记为尚硅谷MySQL高级篇部分内容 目录 一、数据库的存储结构:页 1、磁盘与内存交互基本单位:页 2、页结构概述 3、页的大小 4、页的上层结构 二、页的内部结构 1、分三个部分看 2、从数据页角度看B 树如何查询 三、InnoDB行格式(或记录格式) 四、区、段与碎片区…

测试环境一键发布

背景 目前公司项目发布测试环境不够自动化&#xff0c;每次需要手动打包并且手动更新&#xff0c;影响开发效率 流程图 而且因为是本地手动发布&#xff0c;容易失误造成一些不必要的麻烦&#xff1a; 远端代码有更新&#xff0c;忘记拉取代码 快速发布&#xff0c;本地代码…

Redis7实战加面试题-高阶篇(Redis为什么快?高性能设计之epoll和IO多路复用深度解析)

多路复用要解决的问题 并发多客户端连接&#xff0c;在多路复用之前最简单和典型的方案&#xff1a;同步阻塞网络IO模型 这种模式的特点就是用一个进程来处理一个网络连接(一个用户请求)&#xff0c;比如一段典型的示例代码如下。 直接调用 recv 函数从一个 socket 上读取数据…

Nginx:Nginx优化与防盗链

Nginx&#xff1a;Nginx优化与防盗链 一、配置Nginx隐藏版本号二、修改Nginx用户与组三、配置Nginx网页缓存时间3.1 修改配置文件3.2 页面缓存验证 四、配置Nginx实现连接超时五、更改Nginx运行进程数六 、配置Nginx实现网页压缩功能七、配置Nginx实现防盗链 一、配置Nginx隐藏…

[数据集][目标检测]目标检测数据集蜜蜂4073张1类别VOC格式

出品方&#xff1a;未来自主研究中心(FIRC) 数据集格式&#xff1a;Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件&#xff0c;仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数)&#xff1a;7398 标注数量(xml文件个数)&#xff1a;7398 标注类别数&#xff…

如何利用宝塔面板快速搭建Wordpress网站?

本章教程&#xff0c;主要介绍一下&#xff0c;如何利用宝塔面板快速搭建Wordpress网站。 目录 一、 前置条件 二、 打开宝塔面板 三、解析域名 四、安装界面 五、主题安装 六、网站预览 一、 前置条件 需要准备一台Linux服务器&#xff0c;系统版本使用centos 7.X。 使用…

这两个PPT素材网站很多大佬都在用

01 OfficePLUS是一款基于Microsoft Office的专业辅助工具&#xff0c;能够为用户提供更加高效、便捷的办公体验。该工具针对多个版本的Office软件进行优化和定制&#xff0c;提供了丰富的功能和实用的设计资源&#xff0c;如PPT模板、Word模板、Excel模板等。 OfficePLUS的主…