用于计算awk中唯一ID的正则表达式

时间:2012-06-21 21:25:55

标签: awk

我的要求是获取唯一的项目数。我有一个类似下面的文件

输入文件

ID1=7
ID1=5 
ID1=5 
ID1=6
ID1=6

基本上我会使用reg ex来搜索单词ID,我会给出类似“ID = *”......

我的输出应该是

Count of unique  ID1=2

你能帮帮我们吗...谢谢你。

2 个答案:

答案 0 :(得分:1)

试试这个:

awk -F= '{if (!($1 SUBSEP $2 in a)) {ids[$1]++; a[$1, $2]}} END {for (id in ids) {print "Count of unique", id, " " ids[id]}}'

使用此输入:

ID1=7
ID1=5
ID1=5
ID1=6
ID1=6
ID2=4
ID2=3
ID1=5
ID3=4
ID2=3

这是输出:

Count of unique ID1  3
Count of unique ID2  2
Count of unique ID3  1

答案 1 :(得分:1)

    { ++counts[$0];  }

END { 
    for (i in counts)
        printf("Count of unique %s = %d\n", i, counts[i]); 
}