gpt4 book ai didi

awk - 列出唯一并计算字符串后的第一个数字匹配

转载 作者:行者123 更新时间:2023-12-05 09:04:51 25 4
gpt4 key购买 nike

我想在特定字符串后列出每个唯一数字,并计算该数字在文件中出现的次数。特定字符串将是“长度”及其后的第一个数字。

当前数据例如:

*random string* length: 40
*random string* length: 54
*random string* length: 40
*random string* length: 60
*random string* length: 60
*random string* length: 60

理想的结果是:

length 40: 2
length 54: 1
length 60: 3

目前我正在编写脚本来计算我在 24,111 行文件中手动看到的每个数字,这不切实际。

cat 文件.txt | awk '/length: 60/{total++} END {print total}'

最佳答案

使用您展示的示例,请尝试遵循 awk 代码。

awk '
match($0,/length: [0-9]+/){
cnts[substr($0,RSTART,RLENGTH)]++
}
END{
for(key in cnts){
print key": "cnts[key]
}
}
' Input_file

说明:使用match函数匹配所有行中的字符串length: digits,然后创建数组,第二个为字段并继续将其值添加到同一索引。在 END 代码块中,根据显示的要求输出打印索引和数组值。

关于awk - 列出唯一并计算字符串后的第一个数字匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68130799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com