How to Use Hash Map to Count the Frequencies of Values and Itera

  • 时间:2020-10-09 18:35:39
  • 分类:网络文摘
  • 阅读:153 次

AWK is a powerful text-processing programming language. Given a multi-million lines of text file containing the following data – we want to know the frequencies the delegation at each integer interval e.g. 2, 3, 4:

awk-data-example-steem How to Use Hash Map to Count the Frequencies of Values and Iterate the Key-Value Pairs in AWK? awk

awk-data-example-steem

First, we output the text file to console using cat then pipe it into grep to filter out non-data rows, and then we can execute the awk script.

cat steem3.txt | grep "delegates" | awk '$6 > 0 {
   data[int($6)]++
} 

END { 
  for (sp in data) {
     print (sp, "=", data[sp]);
  } 
}' 

It filters out the records that have zero values (undelegation records) – then we round the fraction numbers into integers and count them in a hash map.

Basically, we don’t have to declare the hash table prior to using it. And we can access it using the syntax map[key]. And at the END section, we can iterate the keys in the hash map in awk and print each value:

for (key in map) {
   print ("key is ", key, ", value is ", map[key]);
}
awk How to Use Hash Map to Count the Frequencies of Values and Iterate the Key-Value Pairs in AWK? awk

awk

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
Is QBasic good for Teaching Kids Programming?  Accidentally Damaging the Graphic Card by Putting Heatsink Coppe  Coding Interview Tips for Software Engineers  A Math Problem: How old is everybody in the Family?  String/Object in Array Testing in Java – using Arrays.asLi  Algorithm to Compute the Revenue Milestones  How to Modify the Git Commit Messages After Your Push Your Branc  Personal Cloud Options to Backup Data and Photos  Greedy Algorithm to Find the Lexicographically Smallest Sequence  ReactiveX/RxJava Tutorial: Compute the Fibonacci Numbers using R 
评论列表
添加评论