Isso atende à ordem de sua saída desejada:
$ awk -F, '
NR == FNR {field1[$0] = $1; next}
{
for (line in field1)
if (line ~ $0)
print field1[line]
}
' data.csv list.txt
"The Mike"
"John"
"Johnny"
"Lizard"
"Johnny"
Isto lê o arquivo data.csv na memória, mapeando a linha inteira para o campo1. Em seguida, cada linha do arquivo list.txt é verificada em relação a cada elemento da matriz field1.
Se o arquivo de dados for muito maior do que o arquivo da lista, faria mais sentido manter o arquivo menor na memória e repetir o arquivo maior uma linha por vez:
$ awk -F, '
NR == FNR {list[$1]; next}
{
for (item in list)
if ($0 ~ item)
print $1
}
' list.txt data.csv
"John"
"The Mike"
"Lizard"
"Johnny"
"Johnny"