我正在用bash将awk
的输出写入数组:
ARR=$(( awk '{print $2}' file.txt ))
想象一下file.txt的内容是:
A B
A B
A C
A D
A C
A B
我想要的是第二列中每个字符串的重复次数,如:
B: 3
C: 2
D: 1
欢迎任何其他解决方案,而不是arrays
和awk
。
答案 0 :(得分:4)
使用awk你可以这样做:
awk '{c[$2]++} END{for (i in c) print i ":", c[i]}' file
B: 3
C: 2
D: 1
答案 1 :(得分:1)
我找到的其他解决方案:
awk '{print $2}' file.txt | sort | uniq -c | sort -nr | while read count name
do
if [ ${count} -gt 1 ]
then
echo "${name} ${count}"
fi
done