Enviado em 15/09/2010 - 10:26h
Olá pessoal sou novo no grupo estou começando agora a desenvolver em shell script. Trabalho com arquivos de grande porte em txt e preciso fazer algumas substituições em um arquivo x com base no arquivo y.
Ex: Arquivo X - (IP#PAÍS#LAT#LONG)
111.222.333.57#BR#-10.1235#-10.5685
222.777.888.99#US#-2.3585#-2.6258
333.444.333.25#BR#-10.4552#-13.5225
Ex: Arquivo Y - (IP)
111.222.333.57
333.444.333.25
222.777.888.99
111.222.333.57
333.444.333.25
Bom esses são os meus arquivos sendo que o Arquivo X tem 4 milhões de linhas e o Arquivo Y tem 142 milhões.
Gostaria de saber como eu poderia fazer a substituição dos IPs no arquivo Y pela a informação completa do arquivo X?
Eu tentei utilizar:
bash_completa_ip.sh
$ for ip in `cat arquivo_y`
$ do
$ grep $ip arquvio_x >> arquiv_final_completo
$ done
Porém retornou o seguinte erro:
bash_completa_ip.sh: fork: cannot allocate memory
só que a minha máquina tem 24Gb de Ram e trabalho com um processador i7 980x.
Desde já agradeço pela ajuda de vcs
Ex: Arquivo X - (IP#PAÍS#LAT#LONG)
111.222.333.57#BR#-10.1235#-10.5685
222.777.888.99#US#-2.3585#-2.6258
333.444.333.25#BR#-10.4552#-13.5225
Ex: Arquivo Y - (IP)
111.222.333.57
333.444.333.25
222.777.888.99
111.222.333.57
333.444.333.25
Bom esses são os meus arquivos sendo que o Arquivo X tem 4 milhões de linhas e o Arquivo Y tem 142 milhões.
Gostaria de saber como eu poderia fazer a substituição dos IPs no arquivo Y pela a informação completa do arquivo X?
Eu tentei utilizar:
bash_completa_ip.sh
$ for ip in `cat arquivo_y`
$ do
$ grep $ip arquvio_x >> arquiv_final_completo
$ done
Porém retornou o seguinte erro:
bash_completa_ip.sh: fork: cannot allocate memory
só que a minha máquina tem 24Gb de Ram e trabalho com um processador i7 980x.
Desde já agradeço pela ajuda de vcs