Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #cep dos correios
- #por nome de rua ou cep
- cep() {
- if [[ -z "${*}" ]]; then
- cat <<-!
- Puxar CEP dos Correios
- Não utilize acentos, n. de casa/apto/lote/prédio ou abreviação.
- Para pesquisar por resultados semelhantes, defina SEM=1.
- Exs: ${0} Rua Higienopolis Guarulhos
- SEM=1 ${0} rua higienopolis
- !
- return
- fi
- local arg res sem
- #retirar acentos e espaços em branco
- arg="$(iconv -f utf-8 -t ascii//translit <<<"${*}" | sed 's/\s/+/g')"
- #resultados semelhantes?
- [[ -n "${SEM}" ]] && sem=S || sem=N
- #pegar e processar dados
- res="$(curl -Ls 'http://www.buscacep.correios.com.br/sistemas/buscacep/resultadoBuscaCepEndereco.cfm' --data "relaxation=${arg}&tipoCEP=ALL&semelhante=${sem}" | grep -aF 'CEP:' | sed -e 's/<td>/&\t/g' -e 's/">/&\t/g' -e 's/<[^>]*>//g' -e 's/\r\r/ /g' -e 's/\r//g' -e 's/\s\s/\n/g' -e 's/ //g' -e 's/://g' | sed -e ':a;N;s/\n\(.\)/ \1/;ta' -e 's/^\s\s*//' -e '/\[\s/d' | tr -dc '[[:print:]\n\s\t]')"
- #montar tabela
- if [[ -n "${res}" ]]; then
- #echo "${res}"; return
- column -dts$'\t' -N1,2,3,4 -T1,2,3 <<<"${res}"
- elif [[ "${sem}" = S ]]; then
- return 1
- else
- printf 'Buscando por resultados semelhantes..\n' 1>&2
- SEM=1 "${0}" "${@}"
- fi
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement