【数组遍历企业常用】【普通数组】【真实案例 关联数组】【wc -l 统计行数】

2024-04-04 12:48

本文主要是介绍【数组遍历企业常用】【普通数组】【真实案例 关联数组】【wc -l 统计行数】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 数组遍历--用来统计网站日志的访问量。
    • 普通数组
    • 真实案例 关联数组

数组遍历–用来统计网站日志的访问量。

++i:从1开始加,运算在赋值
i++: 从0开始加,赋值在运算
#按索引遍历:
在这里插入图片描述

普通数组

1.先创建一个test文件,统计用户的数量
vim test.txt #将文件内容的第一个字段作为数组的值,通过索引获取到值
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin

固定语法;cat test.txt | awk -F":" ‘{username[x++]=$1} END{for(i in username) {print i,username[i]}}’
可改 可改 其他固定的 语法
0 root
1 bin
#注意:变量i是索引
图片详解
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

真实案例 关联数组

语法都是固定的 直接套用,查你想查的对应列

#把要统计的对象作为索引,最后对他们的值进行累加,累加出来的这个值就是你的统计数量
图片详解
在这里插入图片描述

  1. 统计/etc/passwd中各种类型shell的数量
    语法; cat /etc/passwd | awk -F: ‘{shells[$NF]++} END{ for(i in shells){print i,shells[i]} }’
    可改 其他固定的 语法

2.统计nginx日志出现的状态码
语法; cat access.log | awk ‘{stat[$9]++} END{for(i in stat){print i,stat[i]}}’

3.统计当前nginx日志中每个ip访问的数量
语法; cat access.log | awk ‘{ips[$1]++} END{for(i in ips){print i,ips[i]}}’

4.统计某一天的nginx日志中的不同ip的访问量
语法; cat access.log |grep ‘28/Sep/2019’ | awk ‘{ips[$1]++} END{for(i in ips){print i,ips[i]}}’

5.统计nginx日志中某一天访问最多的前10个ip
语法; cat access.log |grep ‘28/Sep/2019’ | awk ‘{ips[$1]++} END{for(i in ips){print i,ips[i]}}’ |sort -k2 -rn | head -n 10
sort:排序,默认升序
-k:指定列数
-r:降序
-n:以数值来排序

6.统计tcp连接的状态—下去自己查各个状态,包括什么原因造成的!
语法; netstat -n | awk ‘/^tcp/ {tcps[$NF]++} END {for(i in tcps) {print i, tcps[i]}}’

LAST_ACK 5 (正在等待处理的请求数)
SYN_RECV 30
ESTABLISHED 1597 (正常数据传输状态)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)

这篇关于【数组遍历企业常用】【普通数组】【真实案例 关联数组】【wc -l 统计行数】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875816

相关文章

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

python进行while遍历的常见错误解析

《python进行while遍历的常见错误解析》在Python中选择合适的遍历方式需要综合考虑可读性、性能和具体需求,本文就来和大家讲解一下python中while遍历常见错误以及所有遍历方法的优缺点... 目录一、超出数组范围问题分析错误复现解决方法关键区别二、continue使用问题分析正确写法关键点三

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr