shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] sincronizar duas listas correndo paralelamente


From: Julio C. Neves
Subject: Re: [shell-script] sincronizar duas listas correndo paralelamente
Date: Sun, 4 Aug 2019 09:26:02 -0300

Umas observações:

#  oIFS=$IFS #garda o separador de campo para devolver quando acabar
# Só se deve guardar o IFS qdo for usá-lo da forma original no mesmo prg
IFS=';' # define o novo separador de campo

# Se o arquivo será sempre saida.txt, pq usar a variável ARQUIVO? Use direto saida.txt
ARQUIVO="saida.txt" #especifica o nome do arquivo de saida

LISTA=$(tr '\n' \; < entrada.txt) #pega a lista com executavel+parametros
#sendo uma execucao por linha
j=0 #inicializa o contador de nomes especificos

As 4 linhas comentadas a seguir, podem
# if [ -e $ARQUIVO ] #se tiver um relatorio antigo apaga
# then
# rm $ARQUIVO
# fi
# ser substituídas por:
> $ARQUIVO
# que sempre gerará um arquivo com tamanho zero, exista ele ou não.

for i in $LISTA
do
echo "`printf '%03i\n' $j`.txt" >> $ARQUIVO #guarda o nome especifico
echo "$i" >> $ARQUIVO #guarda a linha geradora comparametros
eval $i >> $ARQUIVO #executa e grava a tela
if [ -e nomegenerico.txt ] #se o arquivo for gerado
then
mv nomegenerico.txt `printf '%03i\n' $j`.txt #renomeia o geral para o especifico
fi
# j=$(($j+1)) #incrementa o nome especifico
let j++
done
# IFS=$oIFS #devolve o separador de campo original


Abraços,
Julio

» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?
» Conheça nosso portal educacional e estude conosco: 
Também damos treinamento em sua empresa
em qualquer cidadecom certificado e nota fiscal.




Em sáb, 3 de ago de 2019 às 16:36, Jorge Barros de Abreu address@hidden [shell-script] <address@hidden> escreveu:
 

Deu tudo certo.

Obrigado Mestre Ju'lio.

Segue o detalhamento:

Temos um programa executavel a.out que gera, a cada execucao
com parametros especificados, um arquivo nomegenerico.txt
e uma saida na tela.

O script abaixo pega

1.uma relacao, guardada em um arquivo texto, na qual constam
o executavel referido acima com certos parametros,
uma execucao por linha com parametros diferentes a cada linha,

2.executa o programa com os parametros solicitados naquela linha,

3.grava a saida que ele gerou na tela

4.pega o nomegenerico.txt gravado pelo executável
referente à aquela execucao daquela linha
e renomeia-o para um nome especifico

5.guarda a saida da tela gerada a partir da execucao
do a.out com os parametros constantes na linha.

6.gera um relatorio com

nomeespecifico
linhageradoracomparametros
saidadatela

#!/bin/bash
oIFS=$IFS #garda o separador de campo para devolver quando acabar
IFS=';' #efine o novo separador de campo
ARQUIVO="saida.txt" #especifica o nome do arquivo de saida
LISTA=$(tr '\n' \; < entrada.txt) #pega a lista com executavel+parametros
#sendo uma execucao por linha
j=0 #inicializa o contador de nomes especificos
if [ -e $ARQUIVO ] #se tiver um relatorio antigo apaga
then
rm $ARQUIVO
fi
for i in $LISTA
do
echo "`printf '%03i\n' $j`.txt" >> $ARQUIVO #guarda o nome especifico
echo "$i" >> $ARQUIVO #guarda a linha geradora comparametros
eval $i >> $ARQUIVO #executa e grava a tela
if [ -e nomegenerico.txt ] #se o arquivo for gerado
then
mv nomegenerico.txt `printf '%03i\n' $j`.txt #renomeia o geral para o especifico
fi
j=$(($j+1)) #incrementa o nome especifico
done
IFS=$oIFS #devolve o separador de campo original

--
Data Estelar 2458699,256053
http://sites.google.com/site/ficmatinf
Desejo-lhe Paz, Vida Longa e Prosperidade.
São Bem Vindas Mensagens no Formato texto UTF-8 com Acentos.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]