Tôi có hai tệp với khoảng 12900 và 4400 mục tương ứng mà tôi muốn tham gia. Các tập tin chứa thông tin vị trí cho tất cả các trạm quan sát thời tiết trên đất liền trên toàn cầu. Tệp lớn nhất được cập nhật hai tuần một lần và nhỏ hơn mỗi năm một lần. Các tập tin gốc có thể được tìm thấy ở đây ( http://www.wmo.int/pages/prog/www/ois/volume-a/vola-home.htmlm và http://weather.rap.ucar.edu/surface/ trạm.txt ). Các tập tin tôi đã bị tôi thao túng với một số kịch bản hỗn hợp awk, sed và bash. Tôi sử dụng các tệp để trực quan hóa dữ liệu bằng gói GEMPAK, được cung cấp miễn phí từ Unidata. Tệp lớn nhất sẽ hoạt động với GEMPAK, nhưng không phải với khả năng đầy đủ của nó. Đối với điều này một tham gia là cần thiết.
Tệp 1 chứa thông tin vị trí cho các trạm quan sát thời tiết, trong đó 6 chữ số đầu tiên là mã định danh trạm duy nhất. Các tham số khác nhau (số trạm, tên trạm, mã quốc gia, kinh độ vĩ độ và độ cao của trạm) chỉ được xác định bởi vị trí của nó trong dòng, tức là không có tab.
060090 AKRABERG FYR DN 6138 -666 101
060100 VAGA FLOGHAVN DN 6205 -728 88
060110 TORSHAVN DN 6201 -675 55
060120 KIRKJA DN 6231 -631 55
060130 KLAKSVIK HELIPORT DN 6221 -656 75
060160 HORNS REV A DN 5550 786 21
060170 HORNS REV B DN 5558 761 10
060190 SILSTRUP DN 5691 863 0
060210 HANSTHOLM DN 5711 858 0
060220 TYRA OEST DN 5571 480 43
060240 THISTED LUFTHAVN DN 5706 870 8
060290 GROENLANDSHAVNEN DN 5703 1005 0
060300 FLYVESTATION AALBORG DN 5708 985 13
060310 TYLSTRUP DN 5718 995 0
060320 STENHOEJ DN 5736 1033 56
060330 HIRTSHALS DN 5758 995 0
060340 SINDAL FLYVEPLADS DN 5750 1021 28
Tệp 2 chứa mã định danh duy nhất trong Tệp 1 và mã định danh thứ hai, 4 ký tự (định vị ICAO).
060100 EKVG
060220 EKGF
060240 EKTS
060300 EKYT
060340 EKSN
060480 EKHS
060540 EKHO
060600 EKKA
060620 EKSV
060660 EKVJ
060700 EKAH
060780 EKAT
Tôi muốn tham gia hai tệp, để tệp kết quả sẽ có mã định danh 4 ký tự ở 4 vị trí đầu tiên trong dòng, tức là mã định danh sẽ thay thế 4 khoảng trắng.
060090 AKRABERG FYR DN 6138 -666 101
EKVG 060100 VAGA FLOGHAVN DN 6205 -728 88
060110 TORSHAVN DN 6201 -675 55
060120 KIRKJA DN 6231 -631 55
060130 KLAKSVIK HELIPORT DN 6221 -656 75
060160 HORNS REV A DN 5550 786 21
060170 HORNS REV B DN 5558 761 10
060190 SILSTRUP DN 5691 863 0
060210 HANSTHOLM DN 5711 858 0
EKGF 060220 TYRA OEST DN 5571 480 43
EKTS 060240 THISTED LUFTHAVN DN 5706 870 8
060290 GROENLANDSHAVNEN DN 5703 1005 0
EKYT 060300 FLYVESTATION AALBORG DN 5708 985 13
060310 TYLSTRUP DN 5718 995 0
060320 STENHOEJ DN 5736 1033 56
060330 HIRTSHALS DN 5758 995 0
EKSN 060340 SINDAL FLYVEPLADS DN 5750 1021 28
Có thể hoàn thành nhiệm vụ này với một số tập lệnh bash và / hoặc awk không?