while read -r pattern; do
printf '%s ' "$pattern"
grep -x -m 1 "$pattern" b.txt || printf '%s\n' 'None'
done <a.txt
Funciona lendo padrões um por um, executando grep
para cada um deles e imprimindo ( printf
) informações adicionais quando necessário.
Nota: grep -m 1
pára após a primeira correspondência encontrada, mas não é POSIX. Se você não tiver essa opção, substitua a linha que contém grep
por esta:
{ grep -x "$pattern" b.txt || printf '%s\n' 'None'; } | head -n 1