Enviado em 08/06/2018 - 19:26h
Olá tenho um arquivo txt cheques.txt ele tem uma sequencia de leitura que seria a seguinteEnviado em 09/06/2018 - 10:13h
Allysson,#!/bin/bash
# Buscando informações no arquivo TXT
ARQUIVO=`cat cheques.txt`
# Exibir ou não exibir a informação de cada linha
# Alterar essa configurção entre: 1-Exibe ou 0-Não Exibe
EXIBIR="1"
#Variáveis
LOTE_ID=""
SOMA_LOTE=0
SOMA_LOTE_TXT=0
SOMA=0
SOMA_TXT=0
for linha in $ARQUIVO;
do
PARTE1=`echo $linha | cut -d';' -f 1`
PARTE2=`echo $linha | cut -d';' -f 2`
if [[ "$PARTE1" == "CHEQUES" ]]; then
if [[ "$PARTE2" == "A" ]]; then
SOMA_TXT=0
echo -e "\nABRINDO CHEQUES"
else
SOMA_TXT=`echo $linha | cut -d';' -f 3`
echo -e "FECHANDO CHEQUES"
echo -e "\nSOMA TOTAL = $SOMA"
echo -e "SOMA TOTAL NO ARQUIVO = $SOMA_TXT"
if [[ $SOMA == $SOMA_TXT ]]; then
echo -e "VALOR CHEQUES CONFEREM"
else
echo -e "VALOR CHEQUES NÃO CONFEREM"
fi
fi
elif [[ "$PARTE1" == "LOTE" ]]; then
if [[ "$PARTE2" == "A" ]]; then
LOTE_ID=`echo $linha | cut -d';' -f 3`
SOMA_LOTE=0
SOLA_LOTE_TXT=0
echo -e "\nABRINDO LOTE $LOTE_ID"
else
SOMA_LOTE_TXT=`echo $linha | cut -d';' -f 4`
echo -e "FECHANDO LOTE $LOTE_ID"
echo -e "SOMA DO LOTE = $SOMA_LOTE"
echo -e "SOLA DO LOTE NO ARQUIVO = $SOMA_LOTE_TXT"
if [[ $SOMA_LOTE == $SOMA_LOTE_TXT ]]; then
echo -e "VALORES CONFEREM"
else
echo -e "VALORES NÃO CONFEREM"
fi
echo -e "SOMA TOTAL = $SOMA"
fi
else
SOMA=`echo -e 'scale=2;'$SOMA'+'$PARTE2 | bc`
SOMA_LOTE=`echo -e 'scale=2;'$SOMA_LOTE'+'$PARTE2 | bc`
fi
if [[ "$EXIBIR" == "1" ]]; then
echo "> "$linha
fi
done
Enviado em 09/06/2018 - 19:18h
#!/bin/bash
TT=0;
while read line;do
[[ $line =~ ^CHEQUES\;A\;$ ]] && echo $line;
[[ $line =~ ^LOTE\;A\;[0-9]+$ ]] && { total=0;read -a cp <<< $(sed 's/\;/ /g' <<< "$line");
echo ABRINDO LOTE ${cp[2]} ; };
[[ $line =~ ^[0-9]+\;[0-9]+ ]] && { read -a val0 <<< $(sed 's/\;/ /g' <<< "$line");
total=$total+"${val0[1]}" ;TT="$TT+${val0[1]}" ; echo $line ; };
[[ $line =~ ^LOTE\;F\;[0-9]+\;[0-9]+\.[0-9]+$ ]] && { read -a val1 <<< $(sed 's/\;/ /g' <<< "$line");
echo "Sub Total LOTE ${val1[2]}: $(bc <<< "$total")";
[[ $(bc <<< "$total") = ${val1[3]} ]] && stt="CONFERE" || stt="NÃO CONFERE";
echo "FECHA LOTE ${val1[2]} VALOR ${val1[3]} $stt" ;};
[[ $line =~ ^CHEQUES\;F\;[0-9]+\.[0-9]+$ ]] && { read -a val2 <<< $(sed 's/\;/ /g' <<< "$line");
[[ $(bc <<< "$TT") = ${val2[2]} ]] && stt="CONFERE" || { stt="NÃO CONFERE";
dif=$(awk '{print $2-$1}' <<< "$(bc <<< "$TT") ${val2[2]}");};
echo -e "\nFECHAMENTO GERAL: $stt\nCal: $(bc <<< "$TT") Inf: ${val2[2]}\nDiferença: $dif";};
done<cheques.txt
Enviado em 10/06/2018 - 18:58h
Blza vou dar uma olhada aqui e respondo se deu boa :DSlackware para Desktop ou Notebook em 2021
Asterisk - Configurando Ramais, Plano de Discagem e URA Simples
Executando Arquivo de Mídia .opus pelo Terminal
Usando AWX no Fedora CoreOS com K3s
Instalando um localizador de aplicações avançado no seu sistema
Resolução de tela no Ubuntu 20.04 (6)
KDE Plasma é a melhor interface do Linux? 5 motivos que fazem eu achar... (37)
comando em variavel que executa automaticamente no bashrc[AJUDA] (8)
não consigo desisntalar o kali pendrive não ta dando boot e ta entrand... (0)
[Tcl/Tk] Mostrar conexões de rede ativas
[Shell Script] Bashblog v3.0 - cria um microblog em HTML5
[Shell Script] Manutenção e limpeza do Linux
[Shell Script] ebook-cli - gerencia livros digitais entre PC e leitores ebooks
[Shell Script] AptList v1.1 - instalação de pacotes DEB a partir de uma lista