2012-12-24 13 views
5

Jak scalić dwie właściwości pliku przy użyciu skryptów powłoki na przykład: - jeśli mam złożyć dwie właściwości jakpołączyć dwie właściwości pliku przy użyciu skryptów powłoki

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

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

jeśli mogę połączyć first.properties nad second.properties następnie wspólnymi istniejąca nieruchomość powinna zaczerpnięte z first.properties więc moje wyjście powinno wyglądać

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

Odpowiedz

14

inny sposób:

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

Dane wejściowe do tego awk to zawartość pierwszego pliku, po którym następuje drugi plik. !a[$1]++ drukuje tylko pierwsze wystąpienie określonego klucza, usuwając w ten sposób duplikaty przechwytu w drugim pliku.

+1

działa jak urok – 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

działa jak wdzięk dzięki – anish

Powiązane problemy