Aqui está uma maneira de awk
de conseguir o que você deseja:
awk '
NR==FNR { k[$1] ; next }
{ for (i=1; i<=NF; i++) if($i in k) $i="" ; gsub(/ +/," ") }
1
' champs.txt t.txt
(O gsub
é apenas por conveniência, comprime sequências de espaços em branco.)
Para os dados de amostra, o resultado é:
* student
name age professors
departement DPTNUM= 20