2012-12-24 23 views
5

Làm thế nào để hợp nhất nộp hai thuộc tính, sử dụng kịch bản shell ví dụ: - nếu tôi có nộp hai thuộc tính nhưMerge hai thuộc tính tập tin sử dụng kịch bản shell

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

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

nếu tôi nhập first.properties qua second.properties sau đó phổ biến tài sản hiện có nên lấy từ first.properties nên đầu ra của tôi sẽ giống như

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

Trả lời

14

Một cách khác:

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

Dữ liệu nhập vào awk này là nội dung của tệp đầu tiên theo sau là tệp thứ hai. !a[$1]++ chỉ in lần xuất hiện đầu tiên của một khóa cụ thể, do đó loại bỏ các bản sao hiển thị trong tệp thứ hai.

+1

nó hoạt động như một sự quyến rũ – 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

nó hoạt động như một sự quyến rũ nhờ – anish

Các vấn đề liên quan