Isso funcionaria para você?:
$ grep -F -f serverlist.txt alias.txt
alias server1='ssh [email protected]'
alias server2='ssh [email protected]'
alias server3='ssh [email protected]'
Ele usa as linhas de serverlist.txt
como padrões para corresponder para exibir linhas de formulário alias.txt
. Dependendo dos nomes dos seus servidores, pode ser um pouco mais complicado não fornecer correspondências erradas, como se um servidor fosse nomeado apenas server
.
Seria muito mais seguro converter primeiro os nomes dos servidores simples em padrões que correspondam apenas ao lado esquerdo da definição do alias:
$ sed "s/\(.*\)/^alias ='/" serverlist.txt
^alias server1='
^alias server2='
^alias server3='
Podemos usar -f -
para ler os padrões de stdin, assim como fizemos diretamente no arquivo antes:
$ sed "s/\(.*\)/^alias ='/" serverlist.txt | grep -f - alias.txt
alias server1='ssh [email protected]'
alias server2='ssh [email protected]'
alias server3='ssh [email protected]'