Manipular um arquivo txt como se fosse uma planilha de calculo
Publicado por Rodney Wellington C. Barreto 19/10/2004
[ Hits: 9.457 ]
Homepage: http://rodneybr.t35.com
Este script faz uma pesquisa de campos num arquivo txt e lista na telas os resultados fazendo pequenos calculos, utiliza desde awk, fgrep, wc, sed, until, case, grep, fortamacao de cores no terninal e como fazer e utilizar pequenas funcoes. Um pequeno exemplo pra quem gosta de manipular arquivos textos como se fossem planilhas de cauculo. E necessario um arquivo texto para que ele funcione!
#!/bin/bash # # listacheque - Mostra a sistuacao do(s) cheque(s). E necessario o arquivo texto (cheques.txt) # # Autor: rodney barreto e-mail: rodney_qg@yahoo.com.br # 28/09/2004 versao 1.0 #--------------------------------------------------------------------------------------------- # Situacao do cheque: # aberto - baixado - cancelado # Funcoes de Cabecalho e Rodape Cabecalho(){ echo tput bold echo 'Numero Pago a(o) Data Pre_Data Valor Situacao' tput sgr0 # Deixa a linha abaixo, da cor amarela echo -e '{FONTE}33[33;1m====== ========================= ======== ======== ========= ========={FONTE}33[m' } Rodape(){ echo -e '{FONTE}33[33;1m====== ========================= ======== ======== ========= ========={FONTE}33[m' } clear FIM= until [ "$FIM" ] do # Menu tput cup 1 5 tput bold echo 'OPCAO - ACAO' tput sgr0 tput cup 2 5 echo -ne '{FONTE}33[33;1m===== ===={FONTE}33[m' tput cup 3 6 echo '(A) Lista cheque(s) aberto(s)' tput cup 4 6 echo '(B) Lista cheque(s) baixado(s)' tput cup 5 6 echo '(C) Lista cheque(s) cancelado(s)' tput cup 6 6 echo '(T) Lista todos os cheques' tput cup 7 6 echo '(S) Sair do programa' tput cup 9 5 echo -n 'Escolha a opcao: ' read OPCAO # Fim do Menu FIM=1 case "$OPCAO" in [Aa]) Cabecalho # Imprime cheques abertos fgrep aberto cheques.txt | tr _ ' ' Rodape # Calcula a quantidade e o valor dos cheques abertos fgrep aberto cheques.txt | awk '{} END {print NR,"cheque(s)"}' fgrep aberto cheques.txt | awk '{VALOR=VALOR+$5} END {print "Total R$ ",VALOR}' echo read FIM= clear ;; [Bb]) Cabecalho # Imprime cheques baixados fgrep baixado cheques.txt | tr _ ' ' Rodape # Conta a quantidade e o valor dos cheques baixados fgrep baixado cheques.txt | awk '{} END {print NR,"cheque(s)"}' fgrep baixado cheques.txt | awk '{VALOR=VALOR+$5} END {print "Total R$ ",VALOR}' echo read FIM= clear ;; [Cc]) Cabecalho # Imprime cheques cancelados fgrep cancelado cheques.txt Rodape # Conta a quantidade de cheques cancelados echo "`sed -n '/*/p' cheques.txt | wc -l` cheque(s)" echo read FIM= clear ;; [Tt]) Cabecalho # Lista todos os cheques cat cheques.txt | tr _ " " echo Rodape # Conta a quantidade total de cheques grep '.*' cheques.txt | awk '{} END {print NR,"cheques"}' grep '.*' cheques.txt | awk '{VALOR=VALOR+$5} END {print "Total R$ ",VALOR}' echo read FIM= clear ;; [Ss]) # Sai do programa echo exit ;; *) # Opcao invalida para qualquer outro caracter echo echo "Opcao invalida!" echo read FIM= clear ;; esac done # FIM do script Exempo do arquivo cheques.txt ====================== 850001 Boteco_da_esquina 07/04/04 -------- 21,45 baixado 850002 Super_Mercado 14/05/04 -------- 31,48 baixado 850003 * -------- -------- 00,00 cancelado 850004 Dist._Pinguins_Tux 03/06/04 -------- 53,33 baixado 850005 Dist._Pinguins_Tux 03/06/04 03/07/04 53,33 baixado 850006 Dist._Pinguins_Tux 03/06/04 03/08/04 53,33 baixado 850007 Taxi_do_Aeroporto 22/07/04 10/08/04 350,00 baixado 850008 Compra_da_Microsoft 27/08/04 27/09/04 99,67 baixado 850009 Compra_da_Microsoft 27/08/04 27/10/04 99,67 aberto 850010 Compra_da_Microsoft 27/08/04 27/11/04 99,67 aberto 850011 Oficina 03/09/04 -------- 124,00 baixado 850012 Oficina 03/09/04 03/10/04 124,00 baixado
Backup de bases de dados individuais do PostgreSQL
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Erro de permissão no samba (2)
Kernel Linux 5.15.0-131.141 (5)
Não consigo cadastrar nenhuma conta online (2)