2016-03-15 2 views
1

У меня есть два файла input1.txt и input2.txt.сравнить два файла соответствует шаблону и распечатать

input1.txt имеет следующие детали:

abcd 
    bcad 
    cagh 
    degh 
    usna 

input2.txt имеет следующие детали:

abcd.dev.net ip: 169.254.0.2 
bcad.prod.net ip: 169.254.0.3 
cagh.uat.net ip: 169.254.0.4 
us-1212-qwe.net ip: 169.254.232.50 
us-cisco.net ip: 10.120.2.3 
degh.stage.net ip: 169.254.0.5 
usna.prod.net ip: 169.254.0.6 
ab1234.net ip: 169.254.0.7 

- catorr.net IP: 169.254.0.8

Мне нужно, чтобы получить соответствующие IP-адреса серверов, перечисленных в «input1.txt» из файла «input2.txt»

Outp ут должны быть такими:

abcd.dev.net 169.254.0.2 
bcad.prod.net 169.254.0.3 
cagh.uat.net 169.254.0.4 
degh.stage.net 169.254.0.5 
usna.prod.net 169.254.0.6 
+0

это не сайт «сделай это для меня», покажи нам, что ты пробовал, и свою проблему – peter

+0

Удивительно, что это невозможно сделать с помощью awk. – user3834663

ответ

1

Будет grep работа:

grep -Fwf input1 input2 


abcd.dev.net ip: 169.254.0.2 
bcad.prod.net ip: 169.254.0.3 
cagh.uat.net ip: 169.254.0.4 
degh.stage.net ip: 169.254.0.5 
usna.prod.net ip: 169.254.0.6 
+1

обратите внимание, что это будет соответствовать любому совпадению, не обязательно предполагаемому положению. – karakfa

+0

Это правда, хороший момент:) .... сделал вариант «grep» лучше, надеюсь :) Спасибо – Chris

1

, если вы хотите, чтобы присоединиться только до первого периода вы можете использовать этот

$ join -t. input1 <(sort input2) 

abcd.dev.net ip: 169.254.0.2 
bcad.prod.net ip: 169.254.0.3 
cagh.uat.net ip: 169.254.0.4 
degh.stage.net ip: 169.254.0.5 
usna.prod.net ip: 169.254.0.6 

если input1 не сортируется , делать то же самое <(sort input1)

Смежные вопросы