2016-03-15 131 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

我需要得到「input2.txt」中的「input1.txt」中列出的服務器的相應IP詳細信息

Outp UT應該是這樣的:

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 

如果輸入1未排序,做同樣的<(sort input1)

相關問題