2013-03-06 65 views
0

我有以下文件1AWK:拿到鑰匙的值,如果該文件中的關鍵創立

30012516|Geralyn|test|1010029|9985|0029|50|00|OneTime|1227065|2013-03-04|||||||Code4 
30013017|tamara|test|3440029|1114|029|41|00|OneTime|1239244|2013-03-04|||||||Code3 
30015518|daniel|test|3140029L|6440|0029|99|00|OneTime|1239306|2013-03-03|||||||Code2 
30050011|first|test|1240030|1745|030|96|00|OneTime|1284010|2013-02-22|||||||Code1 
10010905|madhu|com|5230029|614|029|29|10|OneTime|1293016|2013-03-04|||||||Code5 

我要搜索$ 18(即代碼{X})以下文件2,如果找到匹配,則輸出的file2的

Code1=Results of code1 
Code3=Results of code3 
Code2=Results of code2 
Code5=Results of code5 
Code6=Results of code6 
Code4=Results of code4 
Code7=Results of code7 
Code8=Results of code8 
Code9=Results of code9 
Code10=Results of code10 

相應值。然後最終輸出將是

Results of code4 
Results of code3 
Results of code2 
Results of code1 
Results of code5 

我試圖下面grep命令,以獲得對應於100的值onding key

"(grep '"$18"=' file2 | cut -d'=' -f2)" | getline result 

它工作正常,但對於少數鑰匙它沒有返回正確的值。是否有任何其他方式來獲得正確的結果

回答

2

你可以試試這個方法AWK:

awk -F= 'NR==FNR{A[$1]=$2; next} $NF in A{print A[$NF]}' file2 FS=\| file1 
+0

+1很好的處理不同的FS。 – Kent 2013-03-06 13:19:00

相關問題