通过不同文件中的公共字符串求和(bash)

时间:2014-10-11 16:40:33

标签: linux string bash sum

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

4 userC
2 userA
1 userB

我还有另一个 file2 ,其中包含用户和其他信息,如:

userC, degree2
userA, degree1
userB, degree2

我想要一个输出,其中显示了用户为每个学位出现的次数:

5 degree2
2 degree1

1 个答案:

答案 0 :(得分:1)

我同意关联数组是一个不错的选择,只要你使用最新版本的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 =之后得到反对!