我有一个file1,其中包含用户在文件中出现的次数,如下所示:

4 userC
2 userA
1 userB

我还有一个文件,里面有用户和其他信息,比如:
userC, degree2
userA, degree1
userB, degree2

我想要一个输出,显示每个学位的用户出现的次数:
5 degree2
2 degree1

最佳答案

我同意关联数组是一个不错的选择,只要您使用bash的最新版本。否则,这将修复它:

cat file1 | while read score name
do
    if f2=`egrep "^$name," file2`
    then
            hit=`echo "$f2" | awk -F, '{ print $2 }'`
            echo "$score $hit"
    fi
done

小心字符,特别是在f2=和hit=正确后得到反勾号!

10-04 20:10