telefone
Publicado por Perfil removido 17/10/2005
[ Hits: 7.392 ]
Baseado em Caderninho Telefonico, by pop_lamen Versao 0.1
Publicado por Wainer Chiari em 10/09/2004 no VOL
Endereço da publicação original:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=594
A grande modificação que existe é na estética e nas forma como as funções são implementadas, existem maior número de opções e os telefones podem ser catalogados em categorias, as buscas também pode ser realizada por categorias
IMPORTANTE! Leia o começo do script antes de usar
#!/bin/sh
# Baseado
# "---------------------------------------"
# " Caderninho Telefonico, by pop_lamen "
# " Versao 0.1 "
# " email: r0xing@bol.com.br"
# "---------------------------------------"
# Publicado por Wainer Chiari em 10/09/2004 no VOL
# Endereço da publicação
# http://www.vivaolinux.com.br/scripts/verScript.php?codigo=594
# "---------------------------------------"
#
# A grande modificação que existe é na estética e nas forma como as funções são
# implementadas, existem maior número de funções e os telefones podem ser
# catalogados em categorias ...
# As buscas também pode ser realizada por categorias
#
# ----------------------------------------
# Arquivo telefones: ~/.telefones
# Limitações : O alinhamento não comporta mais de 8 dígitos para telefone e
# também não suporta mais de 35 carateres para o nome do usuários
# Consequências : Se ocorrer violação das limitações apenas o visual ficará
# comprometido, o script funcionará a 100 %
# ----------------------------------------
# Bom já que se trata de um script baseado em outro, os arquivos fontes são
# 100 % compatíveis entre si, guardando algumas ressalvas
#
# 1 - O script original não tem suporte a categorias de telefones
# - Conclusão : Não adianta usar o arquivo anterior e esperar que
# simplesmente funcione a tal catalogação de categorias
# - Solução : Edite o arquivo ~/.telefones
#
# 2 - A estética entre os arquivos dos scripts é diferente no alinhamento.
# - Conclusão : Fica feio misturar estéticas, mas funciona do mesmo jeito
# - Solução : Edite o arquivo ~/.telefones
#
#
# Não há nada que um editor de textos não consiga resolver
# com MUITA facilidade, para isso, crie uns novos dados de telefone,
# e veja a diferença, verá que existe um alinhamento nome, telefone
# e categoria, use espaços, não use tab, e é só.
# Se quiser, pode aproveitar e colocar as categorias da forma que
# apareceram nas novas entradas.
#
# O arquivo onde são guardados os telefones é o ~/.telefones.
#
# ----------------------------------------
# A compatibilidade reversa, ou seja, do arquivo gerado nessa versão com o arquivo
# gerado pelo script original é de 100 %, entretanto, as categorias deixarão de
# ser preenchidas e, é claro, a estética volta a antiga.
#
# ----------------------------------------
# FAÇA UM BACKUP DO ARQUIVO ANTES DE QUALQUER MANIPULAÇÃO DO MESMO
# NÃO ME RESPONSABILIZAREI POR QUALQUER DANO CAUSADO PELA PERDA ENVENTUAL DOS
# TELEFONES MANTIDOS EM ~/.telefones
# ----------------------------------------
#
# Script modificado por : J. F. Mitre
#
# ----------------------------------------
FONTE=~/.telefones
TMP=/tmp/cdnho.fones
banner (){
echo "------------------------------------------------------------------------------"
echo " Caderno Telefônico "
echo "------------------------------------------------------------------------------"
echo "$(wc -l $FONTE | awk '{printf ($1)}') Telefone(s) no total"
echo
echo
}
sair (){
clear
exit 0
}
lista(){
clear;banner
echo "Selecione uma opção:
Lista de telefones :
[1] Lista completa
[2] Residênciais
[3] Celulares
[4] Comerciais
[5] De Recados
[6] De Emergência
[7] Outras categorias
"
read opcaolista
case $opcaolista in
2) BUSCAR="Residêncial" ;;
3) BUSCAR="Celular" ;;
4) BUSCAR="Comercial" ;;
5) BUSCAR="Recados" ;;
6) BUSCAR="Emergência" ;;
7) BUSCAR="Outras" ;;
*) BUSCAR=. ;;
esac
cat $FONTE | grep -i $BUSCAR > $TMP
clear;banner
echo "Foram encontrados `wc -l $TMP | awk '{printf($1)}'` telefones:"
echo "------------------------------------------------------------------------------"
echo
cat $TMP |sort
echo "------------------------------------------------------------------------------"
echo "Pressione ENTER para sair"
read VOLTAR
main
}
busca (){
while :
do
clear;banner
BUSCA=
echo "Entre com o nome (ou parte) ou telefone a buscar"
read BUSCA
if [ -z $BUSCA ]
then
echo "Voce nao digitou nada !!!"
echo "Digite alguma coisa, ou peça uma lista completa"
else
echo buscando...
cat $FONTE | grep -i $BUSCA > $TMP
clear;banner
echo "Foram encontrados `wc -l $TMP | awk '{printf($1)}'` telefones:"
echo "------------------------------------------------------------------------------"
echo
cat $TMP |sort
echo "------------------------------------------------------------------------------"
echo "Pressione ENTER para sair"
read VOLTAR
main
fi
done
}
categoria(){
clear
echo "Selecionando categoria"
echo "
Selecione uma opção:
[1] Residêncial
[2] Celular
[3] Comercial
[4] Recados
[5] Emergência
[6] Outros
"
read tipotelefone
case $tipotelefone in
1) TCATEGORIA="Residêncial" ;;
2) TCATEGORIA="Celular" ;;
3) TCATEGORIA="Comercial" ;;
4) TCATEGORIA="Recados" ;;
5) TCATEGORIA="Emergência" ;;
6) TCATEGORIA="Outras" ;;
esac
}
adiciona (){
NOME=
FONE=
clear;banner
echo "Digite o Nome a ser utilizado:"
read NOME
while [ -z "$NOME" ]
do
echo "Por favor, digite um nome:"
read NOME
done
echo "Digite o telefone a ser adicionado:"
read FONE
while [ -z "$FONE" ]
do
echo "Por favor, digite um telefone:"
read FONE
done
# obtendo a categoria do telefone
categoria
NUM=$(echo "$NOME" |wc -m)
while [ "$NUM" -ge "36" ]; do
echo "Nome muito grande"
echo "Digite um nome menor"
read NOME
done
while [ "$NUM" -lt "35" ]; do
NOME=$NOME\ ;
NUM=$(echo "$NOME" |wc -m)
done
if [ $FONE -ge 10 ]; then
echo "Número de telefone muito grande"
echo "Essa agenda ainda não é capaz de lidar com esse número"
main
fi
echo -e " $NOME $FONE $TCATEGORIA" >> $FONTE
}
remover(){
clear
echo "Digite o número de telefone ou o nome que deseja eliminar"
echo "Digitando um nome serão eliminados todos os telefones da pessoa"
read elimineesse
echo
if [ -z "$elimineesse" ]; then
echo
echo "Precisa digitar alguma coisa."
echo
read pause
main
fi
echo "Esses telefones serão eliminados"
echo "------------------------------------------------------------------------------"
grep "$elimineesse" $FONTE
echo "------------------------------------------------------------------------------"
echo
echo "Deseja Prosseguir ? [s/n]"
echo "Uma cópia de backup será feita, mas substituirá um backup anterior"
read prosseguir
prosseg=0
while [ $prosseg == 0 ]; do
case $prosseguir in
n|N) prosseg=1; main ;;
s|S) prosseg=1
rm -f $FONTE.bk &>/dev/null
cp $FONTE $FONTE.bk
sed -i /$elimineesse/Id $FONTE ;;
*) echo "Escolha uma opção:
[S]im, para eliminar o(s) telefone(s)
[N]ão, para retornar ao menu principal";;
esac
done
}
limpar () {
while :
do
clear;banner
echo "Tem certeza que deseja apagar todos os numeros? [sim|nao]"
read APAGAS
case $APAGAS in
SIM|sim) clear;banner
cp $FONTE $FONTE.$(date +%Y-%m-%d).backup
echo "Um backup foi realizado: $FONTE.$(date +%Y-%m-%d).backup."
rm -f $FONTE $TMP
echo "Arquivos apagados com sucesso"
echo "Criando nova db..."
touch $FONTE
echo "Pronto!"
sleep 2
break
;;
s) echo "Voce deve digitar a palavra toda!";sleep 2 ;;
*) break ;;
esac
done
}
main(){
if [ -w $FONTE ]
then
while :
do
clear
banner
echo "------------------------------------------------------------------------------"
echo "Selecione uma opção"
echo
echo "[1] Listar telefones cadastrados"
echo "[2] Buscar um nome ou telefone"
echo "[3] Adicionar um novo telefone a lista"
echo "[4] Remover um telefone da lista"
echo "[5] Limpar os telefones existentes"
echo "[6] Sair (Q)"
echo
read ACTION
case $ACTION in
1|l|L) lista ;;
2|b|B) busca ;;
3|a|A) adiciona ;;
6|q|Q) sair ;;
5) limpar ;;
4|r|R) remover ;;
*) echo "Resposta invalida" ;;
esac
done
else
# Criando um arquivo database caso não encontre o mesmo
touch $FONTE
main
fi
}
main
InstallTXZ - converte e instala pacotes do Slackware no Debian
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









