使用bash,是否可以从列表中获取条目数,例如列表
a
b
a
cccc
b
a
所需的输出类似于
a 3
b 2
cccc 1
答案1
通常的方法是使用sort | uniq -c
.对于你的例子,这给出了
3 a
2 b
1 cccc
如果您确实需要将计数放在行尾,则传递sed
可以解决此问题。
答案2
您可以使用awk
:
awk '{
arr[$0]+=1
}
END{
for (item in arr){
print(item, arr[item])
}
}' inputfile
arr
是一个关联数组,它的键是整行($0
),它的值是键出现的次数。最后,我们循环整个数组并打印所有键及其值。