Linux文本文件管理003

★排序、去重、统计★

1)排序

sort -n按照数值排序
-r降序排列

2)去重

uniq 过滤相邻、重复的行
-c 对重复行计数

3)统计

wc 统计文件中的字节数、单词数、行数
-l 显示行数

今天通过使用grep、awk、cut指令和上面几个选项提取文本文件的信息

方法1:

[root@localhost nginx]# cat access.log | awk '{print $1}'| sort -rn | uniq -c | sort -rn | head 
Cat 查看文本文件
| awk '{print $1}' 通过管道| 将cat信息传输给awk
{print $1}限制每一行的第一个字段
| sort -rn 将之前的提取数排序
| uniq -c 去重 -c对于重复的数进行计数
| sort -rn 对于之前去重的数再次进行排序
| head 显示前10行

方法2:

[root@localhost nginx]# awk '{print $1}' access.log | sort -rn | uniq -c | sort -rn | head 
 awk '{print $1}' access.log 通过awk指令打印每一行的第一字符
| sort -rn 将之前的提取数排序
| uniq -c 去重 -c对于重复的数进行计数
| sort -rn 对于之前去重的数再次进行排序
| head 显示前10行

方法3:

[root@local-host nginx]# cut -d' ' -f1 access.log | sort -rn | uniq -c | sort -rn | head 
# cut -d' ' -f1 access.log  -d’ ’指定字符分隔符为单个空格
-f1 每行提取第一个字符
| sort -rn 将之前的提取数排序
| uniq -c 去重 -c对于重复的数进行计数
| sort -rn 对于之前去重的数再次进行排序
| head 显示前10行

方法4:

[root@localhost nginx]# grep -oP '^\S+' access.log | sort | uniq -c | sort -nr | head 
grep -oP '^\S+' access.log 
-P开启perl正则表达式    
-o 只输出匹配的内容
'^\S+'   ^字符串定位行首     \S 匹配任何非空白字符 包括字母、数字、标点符号。 除了空格、制表符、换行符等空白字符之外的任何字符     +  一个量词  \S+匹配一个或者多个非空白字符
| sort -rn 将之前的提取数排序
| uniq -c 去重 -c对于重复的数进行计数
| sort -rn 对于之前去重的数再次进行排序
| head 显示前10行

方法5:

[root@localhost nginx]# awk '{ip[$1]++} END {for (i in ip) print ip[i], i | "sort -rn | head" }' access.log 
awk '{ip[$1]++}     awk  读取每一行    
{ip[$1]++}   ip[] 关联数组名为ip
$1限定第一个字段
++ 检查第一字段 若已存在会自动加1 ,若不存在,会自动创建初始化为1
print ip[i], i打印出每个IP地址及其出现次数。注意,这里先打印次数再打印IP地址,以匹配最终排序的需求,代表每一行ip出现的次数
sort -rn | head先将awk传输的数据排序再将数据前10打印出来

在这里插入图片描述
今天先分享到这里,希望能够帮助到大家……

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

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

相关文章

三十一、openlayers官网示例Draw Features解析——在地图上自定义绘制点、线、多边形、圆形并获取图形数据

官网demo地址: Draw Features 先初始化地图,准备一个空的矢量图层,用于显示绘制的图形。 initLayers() {const raster new TileLayer({source: new XYZ({url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/…

Pytorch 笔记

执行下面这段代码后,为什么返回的是 2 ? vector torch.tensor([7, 7]) vector.shape为什么返回的是 torch.Size([2])? 当你创建一个PyTorch张量时,它会记住张量中元素的数量和每个维度的大小。在你的代码中,torch.t…

软件程序设计规范(代码编写规范文档)-word下载

程序的编码是一个创造性极强的工作,必须要遵守一定的规则和限制,编码风格的重要性对软件项目开发来说是不言而喻的。 开发工程师在开发过程中必须遵守本规范,规范是代码编写及代码验收等管理环节中必须执行的标准。 编制基本原则:…

Java面试八股之volatile变量的作用

volatile变量的作用 内存可见性:volatile关键字最重要的作用是保证了变量的内存可见性。当一个线程修改了被volatile修饰的变量,这个修改会立即对其他线程可见,即使这些线程在不同的处理器上执行。这意味着volatile变量的更新不会被编译器优…

蓝桥杯—SysTick中断精准定时实现闪烁灯

在嵌入式系统中,SysTick_Handler 是一个中断服务例程(Interrupt Service Routine, ISR),用于处理 SysTick 定时器的中断。SysTick 定时器通常用于提供一个周期性的定时中断,可以用来实现延时或者周期性任务。 SysTick…

redis数据类型set,zset

华子目录 Set结构图相关命令sdiff key1 [key2]sdiffstore destination key1 [key2...]sinter key1 [key2...]sinterstore destination key1 [key2...]sunion key1 [key2...]sunionstore destination key1 [key2...]smove source destination memberspop key [count]sscan key c…

链表mark

什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。…

机械产品3d模型网站让您的展示内容更加易于分享和传播

为助力企业3D产品演示网站获得更多曝光和展示特效,华锐视点3D云展平台提供强大的3D编辑引擎,以逼真的渲染效果,让您的模型展示更加生动逼真。让客户也能轻松操作的3D产品演示网站搭建编辑器,引领3D展示的新潮流。 3D产品演示网站搭…

(2020|ICML PMLR,线性 Transformer,核函数,RNN)Transformer 是 RNN

Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention 公众号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 线性 Transformers 3.1. Transformer 3.2.…

Vue:快速上手

一、简介 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,…

第八次javaweb作业

我们小组课程设计的题目是:超市管理系统,我认领的模块是:商品信息管理 controller package com.example.supermarker.controller;import com.example.supermarker.pojo.MerchInfo; import com.example.supermarker.pojo.PageBean; import c…

pillow学习3

Pillow库中,图像的模式代表了图像的颜色空间。以下是一些常见的图像模式及其含义: L(灰度图):L模式表示图像是灰度图像,每个像素用8位表示(范围为0-255),0表示黑色&#…

TTime:截图翻译/OCR

日常网页翻译Translate Web Pages完全足够,TTime最重要的功能,还是截图翻译,还有个厉害的功能,就是静默OCR,相比之前的分享的识字精灵效率更高。 软件使用 打开软件,点击翻译源设置,建议勾选一…

grafana大盘展示node_expod节点

node_expod添加lables标签 Prometheus查询 语句查询 node_exporter_build_infografna添加变量查询 正常有值 切换其他的是有值的 我的报错原因 因为有多个数据源,我选择错了,因为修改的lable标签是其他数据源,所以获取不到 查询语句 我的变量是 $app node_filesyste…

养老院管理系统基于springboot的养老院管理系统java项目

文章目录 养老院管理系统一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 养老院管理系统 一、项目演示 养老院管理系统 二、项目介绍 基于springboot的养老院管理系统 角色:超级…

Python代码:十七、生成列表

1、题目 描述: 一串连续的数据用什么记录最合适,牛牛认为在Python中非列表(list)莫属了。现输入牛牛朋友们的名字,请使用list函数与split函数将它们封装成列表,再整个输出列表。 输入描述: …

011-Linux磁盘管理

文章目录 前言 一、du:查看文件和目录占用的磁盘空间 二、df:查看文件系统的整体磁盘使用情况 三、lsblk:查看设备挂载情况 四、fdisk:磁盘分区 4.1、查看磁盘分区列表 4.2、磁盘分区 4.2.1、交互命令的功能 4.2.2、对/d…

详细分析Element中的Drawer(附Demo)

目录 前言1. 基本知识2. Demo2.1 基本用法2.2 不同方向2.3 自定义大小2.4 嵌入表单2.5 嵌套抽屉 3. 实战4. Element Plus(Drawer) 前言 对于该组件针对Vue2比较多,而Element Plus中的Drawer针对Vue3比较多 此处的Demo主要偏向Vue2 后续的El…

【学习笔记】计算机组成原理(七)

指令系统 文章目录 指令系统7.1 机器指令7.1.1 指令的一般格式7.1.2 指令字长 7.2 操作数类型和操作类型7.2.1 操作数类型7.2.2 数据在存储器中的存放方式7.2.3 操作类型 7.3 寻址方式7.3.1 指令寻址7.3.1.1 顺序寻址7.3.1.2 跳跃寻址 7.3.2 数据寻址7.3.2.1 立即寻址7.3.2.2 直…

【数据结构与算法】七大排序算法(上)

【数据结构与算法】七大排序算法(上) 🥕个人主页:开敲🍉 🔥所属专栏:数据结构与算法🍅 🌼文章目录🌼 1. 排序的概念及应用 1.1 排序的概念 1.2 排序的应用 1.3 常见排序算法 2. 常…