Você pode usar awk
.
awk -F"[/.]" 'NR==FNR{seen[$0];next}
($2 in seen){print "// "$0; next}1
' file2 file1
-
-F"[/.]"
define delimitadores de campos como barra/
ou ponto.
. -
NR==FNR
isto é verdade sempre para os primeiros dados de entrada (aqui file2), R ecord N umber == F ile R ecord N umber. -
seen[$0];next
se acima for verdadeiro, então segure a linha inteira do arquivo2 no array chamadoseen
, então leia a próxima linhanext
(na verdade vá primeiro e execute este bloco novamente atéNR!=FNR
) -
($2 in seen){print "// "$0; next}1
aplica-se apenas ao segundo arquivo de entrada (aqui arquivo1) e procura pela matrizseen
se contiver a mesma sequência da coluna # 2$2
no arquivo1 e, em seguida, imprimir toda a linha do arquivo1 com% co_de pré-anexado %, e goto//
check condition novamente até a correspondência, caso contrário, imprima a linha inteira com a condiçãonext
(que é a ação padrão enable1
).