Operações com valores em arquivo texto
Publicado por Raimundo Alves Portela (última atualização em 18/07/2011)
[ Hits: 11.483 ]
Homepage: http://portelanet.com
Um script simples que ler um arquivo texto passado como parâmetro e retorna como resultado:
Soma dos Valores, Maior Valor, Menor Valor e Média dos Valores.
Antes de fazer os cálculos, são feitos alguns tratamentos para não ler as linhas vazias do arquivo e ler apenas números.
Exemplo de conteúdo de arquivo texto a ser fornecido:
arquivo.txt
-------inicio----------
Valor 2
4
6 quero isso
a
-------fim------------
Espero que sirva para mais pessoas, assim como eu, aprenderem um pouco mais de Shell Script.
Obrigado.
#!/bin/bash # Autor: Raimudo A. Portela <rai3mb@gmail.com> # Script simples que ler um arquivo texto e traz como resultado cálculos # matemáticos básicos, como soma, maior, menor e média dos valores do arquivo. [ -z "$1" ] && echo "Forneça o nome de um arquivo como parâmetro" && echo && \ echo "./opComValorEmArq.sh nomedoarquivo" && echo && exit ! [ -f "$1" ] && echo "O parâmetro [ $1 ] não é um arquivo" && exit SOMA=0 # Conta as linhas que tenham conteúdo LINHAS=$(cat "$1" | egrep '[^(^$)]' | egrep '[0-9]+' | wc -l | cut -d" " -f 1) for i in $(seq $LINHAS) do VALORDALINHA=$(cat "$1" | egrep -o '[0-9]+' | head -n $i | tail -n 1) #soma ! [ -z "$VALORDALINHA" ] && SOMA=$(($SOMA+$VALORDALINHA)) #maior [ -z "$MAIOR" ] && MAIOR="$VALORDALINHA" [ "$VALORDALINHA" -gt "$MAIOR" ] && MAIOR="$VALORDALINHA" #menor [ -z "$MENOR" ] && MENOR="$VALORDALINHA" [ "$VALORDALINHA" -lt "$MENOR" ] && MENOR="$VALORDALINHA" done #media MEDIA=$(($SOMA/$LINHAS)) echo "A soma dos valores é: $SOMA" echo "O maior valor é: $MAIOR" echo "O menor valor é: $MENOR" echo "A média dos valores é: $MEDIA" #.EOF
Instalação de programas no Ubuntu Linux
Script simples para compactar e descompactar arquivos
Script que execulta 5000 pastas -DarkLooping-
Enviar SMS usando um telefone (Nokia)
Nenhum coment�rio foi encontrado.
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (5)
E aí? O Warsaw já está funcionando no Debian 13? (2)
Dúvidas sobre a originalidade de conteúdos online (12)