Função Shell Script(Bash): Rastrear objetos via Correios

Verificar andamento do processo de um objeto pelos Correios


Função Shell Script(Bash): Rastrear objetos via Correios

Verificar andamento do processo de um objeto pelos Correios

Veja o CABEÇALHO DO CÓDIGO e os COMENTÁRIOS para entendimento do Script/Função

Código

#!/bin/bash
# --------------------------------------
# ./rastreamento.sh
#
# Função Shell Script(Bash): Rastrear objetos via Correios.
#
# Uso: ./rastreamento.sh [código da encomenda]
#
# Ex.: ./rastreamento.sh DI781874650BR
#
# Autor: Marcos Oliveira , https://www.terminalroot.com.br/
# Desde: Dom 06 Out 2013 17:34:05 BRT
# Last update: Seg 15 Feb 2021 19:49:02 BRT
# Licença: GPL
# --------------------------------------

[[ $(which lynx 2>&-) ]] || {
  printf "%s\n" "Precisa do 'lynx' instalado. Ex,: sudo apt install lynx"
  exit 1
}

rastreamento(){
url='http://websro.correios.com.br/sro_bin/txect01$.QueryList'
# imprime em amarelo
echo -e "\033[1;33m"
for codigo
 do
  # baixa a url
  lynx -source "$url?P_LINGUA=001&P_TIPO=001&P_COD_UNI=$codigo" |

  # deixa só as linhas que contém a string rowspan (que contém os dados do rastreamento), as demais são apagadas
  sed '/rowspan/!d' |

  # substitui tudo entre  por espaço em branco
  sed 's// /g' |

  # insere o texto abaixo na primeira linha
  sed -e "1s/^/\n\nO RASTREAMENTO DO SEU OBJETO $1 É:\n\n/" |

  # limpa todas as tags e imprime uma linha em branco com echo
  sed -e 's/]*>//g' && echo


 done

# finaliza a cor
echo -e "\033[0m"
}
rastreamento $1


shellscript sed


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!


caso queira entrar em contato conosco, envie-nos um e-mail.