我有3列的文本文件,我想算每串的数字出现在第2列如何计算字符串出现在列中的次数?
文件1的第二栏:
SAM
MATHEW
ALAN
NEELA
JOHN
文件2的第二栏:
ALAN
NEELA
KAREEM
MOHA
所需的输出:
SAM-1
MATHEW-1
ALAN-2
NEELA-2
JOHN-1
KAREEM-1
MOHA-1
我有3列的文本文件,我想算每串的数字出现在第2列如何计算字符串出现在列中的次数?
文件1的第二栏:
SAM
MATHEW
ALAN
NEELA
JOHN
文件2的第二栏:
ALAN
NEELA
KAREEM
MOHA
所需的输出:
SAM-1
MATHEW-1
ALAN-2
NEELA-2
JOHN-1
KAREEM-1
MOHA-1
$ awk '{a[$2]++}END{for(k in a)print k"-"a[k]}' file1 file2
MOHA-1
NEELA-2
JOHN-1
KAREEM-1
ALAN-2
MATHEW-1
SAM-1
这完成它,虽然输出是无序:
awk '{ h[$2]++ } END { for(k in h) print k " - " h[k] }' file1 file2
甲帐簿被保持在h
关联数组中,当所有文件已被处理的结果被打印在END
块。
awk '{a[$2]++;next}END{for(i in a)print i"-"a[i]}' file1 file2
测试:
> cat file1
10993 item 0
11002 item 6
693661 item 7
> cat file2
10993 item 0
11002 item1 6
693661 item2 7
> awk '{a[$2]++;next}END{for(i in a)print i"-"a[i]}' file1 file2
item1-1
item2-1
item-4
>
'; next'在这种情况下什么也不做。 – 2013-02-25 12:55:29
是否有可能更具体?我们甚至不知道您说的是什么编程语言,或者它是否与系统数据库相关。 – 2013-02-25 08:50:21