Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Criado por: Rafael Saraiva
- # Contato: rafaelsnsa@gmail.com
- # Script para importação da tabela CNL para Mysql
- # A referida tabela é fornecida pela ANATEL, o download pode ser realizado no link abaix:
- # http://sistemas.anatel.gov.br/areaarea/N_Download/Tela.asp?varMod=Publico&SISQSmodulo=7179 > Central CNL > Fixo > Todas
- # O script não possui qualquer controle de erros, utilize por sua conta e risco
- #
- # Utilizar o arquivo txt original da Anatel, sem copiar e colar o conteudo.
- # Dados para conexao ao banco de dados local
- DBUSER=root
- DBPASS=root
- DBNAME=db01
- # Nome da tabela temporaria onde serão armazenados os registros até o fim do processo. Só alterar se já existir alguma tabela com mesmo nome em seu banco de dados
- DBTEMPTABLE=temp
- # Nome da tabela no banco para onde serão importados os dados
- DBENDTABLE=cnl
- # Nome/local do arquivo txt original com os registros da ANATEL
- TXTFILE=/tmp/cnl.txt
- PREFIX=`date +"%Y-%m-%d_%H-%M"`
- TEMP_FILE=/tmp/$PREFIX.txt
- touch $TEMP_FILE
- iconv -f iso-8859-1 -t UTF-8 $TXTFILE | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/' > $TEMP_FILE
- mysql -u $DBUSER -p$DBPASS $DBNAME -e "create table $DBTEMPTABLE ( linha char(255) DEFAULT NULL ) engine=MyISAM;"
- mysql --local-infile -u $DBUSER -p$DBPASS $DBNAME -e "LOAD DATA LOCAL INFILE '$TEMP_FILE' INTO TABLE $DBTEMPTABLE LINES TERMINATED BY '\n'"
- mysql -u $DBUSER -p$DBPASS $DBNAME -e "create table $DBENDTABLE (
- sigla_uf char(2),
- sigla_cnl char(4),
- codigo_cnl char(5),
- nome_localidade char(50),
- nome_municipio char(50),
- cod_area_tarifacao char(5),
- prefixo char(7),
- prestadora char(30),
- num_faixa_inicial char(4),
- num_faixa_final char(4),
- latitude char(8),
- hemisferio char(5),
- longitude char(8),
- sigla_cnl_area_local char(4)
- );"
- mysql -u $DBUSER -p$DBPASS $DBNAME -e "insert into
- $DBENDTABLE (sigla_uf,sigla_cnl,codigo_cnl,nome_localidade,nome_municipio,cod_area_tarifacao,prefixo,prestadora,num_faixa_inicial,num_faixa_final,latitude,hemisferio,longitude,sigla_cnl_area_local)
- select
- rtrim( substr( linha , 1 , 2 ) ) sigla_uf,
- rtrim( substr( linha , 3 , 6 ) ) sigla_cnl,
- rtrim( substr( linha , 7 , 11 ) ) codigo_cnl,
- rtrim( substr( linha , 12 , 61 ) ) nome_localidade,
- rtrim( substr( linha , 62 , 111 ) ) nome_municipio,
- rtrim( substr( linha , 112 , 116 ) ) cod_area_tarifacao,
- rtrim( substr( linha , 117 , 123 ) ) prefixo,
- rtrim( substr( linha , 124 , 153 ) ) prestadora,
- rtrim( substr( linha , 154 , 157 ) ) num_faixa_inicial,
- rtrim( substr( linha , 158 , 161 ) ) num_faixa_final,
- rtrim( substr( linha , 162 , 169 ) ) latitude,
- rtrim( substr( linha , 170 , 174 ) ) hemisferio,
- rtrim( substr( linha , 175 , 182 ) ) longitude,
- rtrim( substr( linha , 183 , 186 ) ) sigla_cnl_area_local
- from
- $DBTEMPTABLE;"
- mysql -u $DBUSER -p$DBPASS $DBNAME -e "drop table $DBTEMPTABLE;"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement