telefone
Publicado por Perfil removido 17/10/2005
[ Hits: 7.193 ]
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
Limpar e mostrar tamanho da lixeira no Samba
Baixando os áudios dos vídeos do youtube - YAD
Relógio em tempo real no terminal
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
Mikrotik não mostra bytes nem packtes (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta