2012-12-24 8 views
5

कैसे मर्ज करने के लिए दो गुण फ़ाइल, उदाहरण के लिए खोल स्क्रिप्ट का उपयोग: - अगर मैं दो गुणों की तरहमर्ज दो गुण शेल स्क्रिप्ट का उपयोग कर फ़ाइल

first.properties 
/test/file="anish" 
/test/version=3.0 

second.properties 
/test/author=nath 
/test/version=2.0 

फाइल अगर मैं second.properties तो आम से अधिक विलय first.properties है मौजूदा संपत्ति first.properties से लिया जाना चाहिए ताकि मेरी उत्पादन की तरह

final.properties 
/test/file="anish" 
/test/version=3.0 
/test/author=nath 

उत्तर

14

एक और तरीका है दिखना चाहिए:

$ awk -F= '!a[$1]++' first.properties second.properties 

इस अजीब इनपुट में पहली फ़ाइल की सामग्री दूसरी फ़ाइल के बाद है। !a[$1]++ केवल किसी विशेष कुंजी के पहले अवसर को प्रिंट करता है, इसलिए दूसरी फ़ाइल में डुप्लीकेट को एम्बेड करना।

+1

यह एक आकर्षण की तरह काम करता है – anish

2
$ cat first.properties second.properties | awk -F= '!($1 in settings) {settings[$1] = $2; print}' 
/test/file="anish" 
/test/version=3.0 
/test/author=nath 
+0

यह एक आकर्षण की तरह काम करता है धन्यवाद – anish

संबंधित मुद्दे