Agenda de Contatos
Publicado por Lucas Roberto Xavier de Oliveira 01/11/2007
[ Hits: 8.270 ]
Olá pessoal, segue uma agenda simples porém muito útil.
Espero que gostem!
Abraços.
Lucas Roberto
#!/bin/bash # arquivos para armazenamento de dados arquivo=~/.agenda.data arquivo_antigo=~/.agenda.data.old #menu principal () { echo "" echo "" echo " Agenda | Lucas Roberto |" echo "" echo "" echo " selecione a opcao desejada:" echo "" echo " a - adicionar contato" echo " e - editar contato" echo " d - apagar contato" echo " l - listar todas as entradas" echo " p - procurar um contato" echo " f - apagar tudo" echo " s - sair" echo "" echo " opcao desejada: " read opt clear case $opt in a) adicionar ;; e) editar ;; d) apagar ;; l) listar ;; p) procurar ;; f) formatar ;; s) clear ;; *) principal ;; esac } # lista as entradas da agenda listar () { cat $arquivo read clear principal } # adiciona um novo contato adicionar () { echo "" echo " Nome: " ; read nome echo " Telefone: " ; read tel echo " Celular: " ; read cel echo " E-mail: " ; read email echo "$nome -> Tel: $tel Cel: $cel E-mail: $email" >> $arquivo clear principal } # procura por um contato procurar () { echo "" echo " Contato: " ; read pattern echo "" grep -i $pattern $arquivo echo "" echo " Pressione qualquer tecla para retornar ao menu inicial..." read clear principal } #apaga um contato apagar () { # preste bem atencao a funcao contida abaixo [ complicado ;) ] echo "" echo " Contato: " read nome echo "" echo " Tem certeza que deseja apagar `cat $arquivo | grep -i $nome | cut -d" " -f1`? (s/n)" read confirma if [ $confirma = "s" ]; then # atribui a variavel $linha o numeo da linha # que contem o nome # primeiro lemos o arquivo, separamos o nome # com grep e depois cortamos o numero da linha linha=`cat $arquivo | grep -in $nome | cut -d: -f1` # pega o numero da ultima linha do arquivo # fazemos o grep imprimir o arquivo com o numero de # linhas, damos um tail com a ultima linha # da saida do grep e recortamos o numero da linha ult_linha=`grep -n "" $arquivo | tail -n1 | cut -d: -f1` # gera um novo arquivo atualizado linhas_antes=`expr $linha - 1` linhas_depois=`expr $ult_linha - $linha` mv $arquivo $arquivo_antigo head -n $linhas_antes $arquivo_antigo > $arquivo tail -n $linhas_depois $arquivo_antigo >> $arquivo fi clear principal } #edita um contato editar () { echo "" echo " Contato: " read nome echo " Tem certeza que deseja editar `cat $arquivo | grep -i $nome | cut -d" " -f1`? (s/n)" read confirma if [ $confirma = "s" -o $confirma = "S" ]; then echo "" grep -i $nome $arquivo echo "" echo "" echo " Nome: " ; read novo_nome echo " Telefone: " ; read tel echo " Celular: " ; read cel echo " E-mail: " ; read email # atribui a variavel $linha o numeo da linha # que contem o nome # primeiro lemos o arquivo, separamos o nome # com grep e depois cortamos o numero da linha linha=`cat $arquivo | grep -in $nome | cut -d: -f1` # pega o numero da ultima linha do arquivo # fazemos o grep imprimir o arquivo com o numero de # linhas, damos um tail com a ultima linha # da saida do grep e recortamos o numero da linha ult_linha=`grep -n "" $arquivo | tail -n1 | cut -d: -f1` # gera um novo arquivo atualizado linhas_antes=`expr $linha - 1` linhas_depois=`expr $ult_linha - $linha` mv $arquivo $arquivo_antigo head -n $linhas_antes $arquivo_antigo > $arquivo echo "$novo_ nome -> Tel: $tel | Cel: $cel | E-mail: $email" >> $arquivo tail -n $linhas_depois $arquivo_antigo >> $arquivo fi clear principal } formatar () { echo "" echo "Tem certeza que deseja apagar todas as entradas da agenda? (s/n)" read confirma if [ $confirma = "s" -o $confirma = "S" ]; then rm $arquivo touch $arquivo fi clear principal } clear principal
Atualizar o sistema através de Shell Script (Debian, Ubuntu e devidados)
SCRIPT PARA AUTOMAÇÃO NA CRIAÇÃO DE USUÁRIOS NO AMBIENTE LINUX.
User System - Siaba se determinado usuário existe no sistema.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Agora temos uma assistente virtual no fórum!!! (247)
iso de sistema 32 bit em atividade (12)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)