awk数组统计(如何在awk中初始化数组)

:暂无数据 2026-03-26 21:00:01 0
本篇文章给大家谈谈awk数组统计,以及如何在awk中初始化数组对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

如何在awk中初始化数组

awk的数组其实很好理解。一般编程语言的数组,其下标只能是数字,比如a,表示数组a的第四个元素。
但是awk的不同,其下标可以是任意字符或者字符串。比如a,表示数组a的一个元素,它的下标是"bob"。
比如有个文本文件alex.txt:
a 1
b 2
c 3
a 4
b 5
a 6
如果我们想统计以a开头的行后面的数字之和,就是“1+4+6”,我们用awk怎么做呢:
cat alex.txt | awk ‘{if(!array=$2;}
elae{arrary;}’
命令中有个数组array,当读取alex.txt第一行时,$1是“a”,array.
同理,读取第二行之后结果array=2,数组array就有了2个元素。
第三行之后结果是array=3,数组array就有了3个元素。
第四行之后结果是array=3
第五行之后结果是array=3
第六行之后结果是array=3
END的意思是读取完文件所有行后执行的语句,打印出数组第一个元素array.

Shell脚本-awk统计单词数

统计passwd文件每个单词出现的次数,这里以前5行为例
# head -5 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/**in/nologin

daemon:x:2:2:daemon:/**in:/**in/nologin

adm:x:3:4:adm:/var/adm:/**in/nologin

lp:x:4:7:lp:/var/spool/lpd:/**in/nologin
【思路】

【直接用awk数组的2次for循环】

}’

4 2

10

7 1

nologin 4

bin 4

x 5

adm 3

**in 5

bash 1

spool 1

var 2

0 2

1 2

lpd 1

2 2

daemon 2

root 3

lp 2

3 1
【先把数据处理成一列  -tr】

" "\n"|sed ’/^$/d’
【用awk的内置变量RS做成一列】

+" ’{print $0}’
【接下来就可以用awk单次for循环,也可以用sort+uniq处理】

怎样用awk进行分段统计累加

假定一段数据中的第四段重复量。文件名是xxx.
awk ’{a,j}’ xxx
a++意思将第四段内容放入数组,后面将遍历整个数组,以同样的内容的做为下标累计,统计有多少个J一样数据。
其他的类推
或者如下:
begin{
}
{if($0 ~ /业务流水帐/){
dipartment=$4;
count1=0;
count2=0;
while(getline){
if($0 ~ /^本项合计/){
count1 = count1+$2;
count2 = count2+$3;
}
if($0 ~ /----------/){
break;
}
}
print departmen" "count1" "count2"\n";
}
}
end{
}

awk ’{a[$1“ “$2]++}END{for(j in a) print a[j],j}’ 解释一些每个字段的意思

a
是一个关联数组,类似于c++中的map,其中$1的值是键,a对应的内容就是值,这个值如果是数字,则可以做加减运算。所以
a++
就是指数组a中下标为$1对应的值增加1;
for
(
j
in
a)
是循环遍历数组a中键值对的用法,j就是依次获取数组a中的下标

awk 计算各列的平均值

用awk来计算,用一个关联数组sum来计算列 的数据和,假设文件为file.txt
awk ’
{
for (i=2;i《=NF;++i)
{
sum+=$i
if (NR == 1 || min = $i }
if (NR == 1 || max = $i}
}
colum = NF;
row = NR
}
END {
printf ("average: ");
for (i=2; i《= colum; ++i)
{
printf("%f ", sum/row);
}
print ""

printf ("max: ");
for (i=2; i《= colum; ++i)
{
printf("%s ", max);
}
print ""
printf ("min: ");
for (i=2; i《= colum; ++i)
{
printf("%s ", min);
}
print ""
}
’ file.txt

awk中如何获取数组元素个数

使用awk的内置函数split,将第三个字段根据分隔符“-”分割并存入数组,最后跟随$1和$2逐个打印。
$ echo "aaa 3 1-2-3-4-5" | awk ’{n=split($3,a,"-");for(i=1;i《=n;i++)print $1,$2,a}’aaa 3 1aaa 3 2aaa 3 3aaa 3 4aaa 3 5

【shell】对一条常用命令(netstat结合awk统计TCP连接数)的理解

观察一 、先输出两个值,其中NF为awk正在处理记录(列)的字段 总数 ,$NF为每行 最后一个字段的值
观察二 、如下命令输出4个值,注意最后俩字段的值是怎么来的:S
观察三 、利用awk的行处理特性,遍历了所有tcp开头的行

定义出不同状态命名的数组下标,并分别++计数赋值给数组元素,最后打印$NF和数组S的值
CLOSED:无连接是活动的或正在进行

LISTEN:服务器在等待进入呼叫

SYN_RECV:一个连接请求已经到达,等待确认

SYN_SENT:应用已经开始,打开一个连接

ESTABLISHED:正常数据传输状态

FIN_WAIT1:应用说它已经完成

FIN_WAIT2:另一边已同意释放

ITMED_WAIT:等待所有分组死掉

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉
用来统计tcp各个状态连接数的shell脚本

***隐藏网址***

***隐藏网址***
结合netstat和awk命令来统计网络连接数

***隐藏网址***

***隐藏网址***
利用netstat和awk发现并阻止DDoS攻击

***隐藏网址***

本文从概念到应用,全方位解析了awk数组统计中的如何在awk中初始化数组。在这个信息时代,掌握awk数组统计是一种竞争力,而如何在awk中初始化数组是竞争力的核心组件之一。持续学习,共勉!
本文编辑:admin

更多文章:


表格trim函数(excel表格中卡号数字后面的空格怎么一起删除)

表格trim函数(excel表格中卡号数字后面的空格怎么一起删除)

常言道:“万丈高楼平地起”。理解表格trim函数这座大厦,也必须从excel表格中卡号数字后面的空格怎么一起删除这块基石开始。

2026年3月27日 20:40

有趣的vbs小程序代码(vb有趣小程序)

有趣的vbs小程序代码(vb有趣小程序)

相信点开这篇文章的你,一定对有趣的vbs小程序代码抱有好奇。没关系,下面我们就结合vb有趣小程序,带你一步步揭开它的面纱。

2026年3月27日 20:20

of是什么意思翻译成中文(英语关于 of  的翻译)

of是什么意思翻译成中文(英语关于 of 的翻译)

各位老铁们,大家好,今天由我来为大家分享of是什么意思翻译成中文,以及英语关于 of 的翻译的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年3月27日 20:00

微信小程序商微信公众号制微信小程序开发制作(如何开发微信小程序微信宣传制作a)

微信小程序商微信公众号制微信小程序开发制作(如何开发微信小程序微信宣传制作a)

回顾我学习微信小程序商微信公众号制微信小程序开发制作的经历,如何开发微信小程序微信宣传制作a可算是一个重要的转折点。正是搞懂了它,一切才变得顺畅起来。

2026年3月27日 19:40

this is me英语自我介绍小海报(this is me英语手抄报简单)

this is me英语自我介绍小海报(this is me英语手抄报简单)

其实this is me英语自我介绍小海报的问题并不复杂,但是又很多的朋友都不太了解this is me英语手抄报简单,因此呢,今天小编就来为大家分享this is me英语自我介绍小海报的一些知识,希望可以帮助到大家,下面我们一起来看看这

2026年3月27日 19:20

php后端框架有哪些(php后端开发要懂哪些)

php后端框架有哪些(php后端开发要懂哪些)

本篇文章给大家谈谈php后端框架有哪些,以及php后端开发要懂哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年3月27日 19:00

自学java迷茫了(java学习的问题,现在比较迷茫)

自学java迷茫了(java学习的问题,现在比较迷茫)

你是否好奇,为什么人人都在谈自学java迷茫了?它和java学习的问题,现在比较迷茫之间究竟存在着怎样微妙的联系?答案就在下文。

2026年3月27日 18:40

鼠标图标卡通(怎么让鼠标图标换成可爱的卡通造型)

鼠标图标卡通(怎么让鼠标图标换成可爱的卡通造型)

还记得第一次接触鼠标图标卡通时的茫然吗?是怎么让鼠标图标换成可爱的卡通造型这个概念,像一盏灯照亮了后续的路。本文将为你点亮这盏灯。

2026年3月27日 18:20

360度网站模板(什么叫360评估)

360度网站模板(什么叫360评估)

大家好,关于360度网站模板很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于什么叫360评估的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年3月27日 18:00

bigdecimal 除法(java中 BigDecimal的类型的除法)

bigdecimal 除法(java中 BigDecimal的类型的除法)

当我们讨论bigdecimal 除法时,我们真正需要关注的是什么?很多高手的答案都指向了:java中 BigDecimal的类型的除法。为什么?

2026年3月27日 17:40

最近更新

360度网站模板(什么叫360评估)
2026-03-27 18:00:01 浏览:0
bigdecimal 除法(java中 BigDecimal的类型的除法)
2026-03-27 17:40:02 浏览:0
热门文章

access是什么软件与sql server(Access数据库和**L Server数据库有什么区别)
2026-03-27 10:20:01 浏览:0
android studio生成apk文件(android studio 里面build,clean区别)
2026-03-27 07:40:01 浏览:0
标签列表