请教一个问题

请教一个问题

有两个文件A,B。两个文件中都有两列 id ,name

A文件

abc   123
vff      456

B文件

abc   789
poi    100

如果B文件中的id列在A文件中有就生成一个新文件在id,name列,后面再追加一列之值为C
如果B文件中的id列在A文件中没有就在新文件中id,name列,后面再追加一列之值为A
如果A文件中的id列在B文件中没有就在新文件中id,name列,后面再追加一列之值为D

例如上面的A,B文件生成的新文件
C文件

abc   123    C
vff      456    D
poi    100     A

上面文件之间的分隔符是Tab键

请问大家有什么简单的实现方法么      
#!/bin/bash
#I don't know how make "join" use tab as list separator.
if [ $# != 2 ] ; then
   echo "$0 fileA fileB"
   exit 0
fi

sort fileA | awk '{print $0 "\tD"}' > fileA$$
sort fileB | awk '{print $0 "\tA"}' > fileB$$
join -a1 -a2 fileA fileB | awk '{if (NF == 3) {print $0} else {print $1 " " $2 " C"}'
rm -f fileA$$
rm -f fileB$$
exit 0