Você pode escolher quais campos imprimir em qual ordem ou imprimir todos os campos em ordem padrão. Mas você não pode imprimir "o resto dos campos".
De man join
:
-o FORMAT
obey FORMAT while constructing output line
[...]
Any FIELD is a field number counted from 1. FORMAT is one or
more comma or blank separated specifications, each being
'FILENUM.FIELD' or '0'.
Você pode usar o awk:
awk -v regex="$(head -c -1 file2 | tr '\n' '|')" '$2 ~ regex' file1
- Remova a última nova linha do arquivo2 e substitua as novas linhas por '|', a expressão regular será
a|c|f
- Corresponde ao segundo campo do arquivo1 com esse regex
Ou use a solução awk do Sundeep especialmente se o arquivo2 contiver caracteres especiais.