Eu tenho dois arquivos com aproximadamente 12900 e 4400 entradas respectivamente, que desejo ingressar. Os arquivos contêm informações de localização para todas as estações terrestres de observação do tempo em todo o mundo. O arquivo maior é atualizado quinzenalmente e o menor uma vez por ano. Os arquivos originais podem ser encontrados aqui ( http://www.wmo.int/pages/prog/www/ois/volume-a/vola-home.htm e http://weather.rap.ucar.edu/surface/ stations.txt ). Os arquivos que eu já tenho são manipulados por mim com alguns scripts awk, sed e bash misturados. Eu uso os arquivos para visualizar dados usando o pacote GEMPAK, disponível gratuitamente na Unidata. O arquivo maior funcionará com o GEMPAK, mas não apenas com toda a sua capacidade. Para isso, é necessária uma junção.
O arquivo 1 contém informações de localização das estações de observação meteorológica, onde os 6 primeiros dígitos são o identificador exclusivo da estação. Os diferentes parâmetros (número da estação, nome da estação, código do país, longitude da latitude e elevação da estação) são definidos apenas pela sua posição na linha, ou seja, sem tabulações.
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
O arquivo 2 contém o identificador exclusivo no arquivo 1 e um segundo identificador de 4 caracteres (localizador 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
Quero unir os dois arquivos, para que o arquivo resultante tenha o identificador de 4 caracteres nas 4 primeiras posições da linha, ou seja, o identificador deve substituir os 4 espaços.
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
É possível realizar esta tarefa com algum script bash e / ou awk?