【数组遍历企业常用】【普通数组】【真实案例 关联数组】【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

相关文章

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu