join fileA fileB
Isso pressupõe que os arquivos sejam classificados na primeira coluna (que estão no seu exemplo).
Eu preciso remover linhas do arquivo A, que tem duas colunas, se o arquivo B (apenas uma coluna) não contém a string da coluna1 no arquivo A.
Exemplo. Aqui está fileA :
a b
a c
a d
e f
g h
E fileB :
a
b
g
Aqui, a saída deve ser:
a b
a c
a d
g h
join fileA fileB
Isso pressupõe que os arquivos sejam classificados na primeira coluna (que estão no seu exemplo).
awk 'FNR == NR { onecol[$0]=1;next; }; $1 in onecol' fileB fileA
awk '{if(NR==FNR) a[$1]=$1}{if($1==a[$1] && NR>FNR) print $0}' fileB.txt fileA.txt