Ajuda com loop for

1. Ajuda com loop for

tuanan da costa lourenco
tuanan

(usa Ubuntu)

Enviado em 22/01/2016 - 17:34h

Olá estou gerando um script para escrever diversos arquivos de texto mas cada um com uma parte do texto diferente. Criei 3 vetores, eles contém o nome de cátions e anions e do sistema. Gostaria que quando eu rodasse o script ele escrevesse dieversos arquivos $sistem.top mas cada um com uma combinação de cátion e anion. Vejam o que eu fiz, mas nao consigo fazer com que ele vá gerando as combinações diferentes.

Pensei em usar o for para fazer um loop e assim ir varrendo os vetores, mas nao consigo de jeito algum

O script seria este:

#!/bin/bash

cation=(emim bmim)
anion=(pf6)
system=(emim_tfsi bmim_tfsi)

echo "#include \"../itp/$cation.itp\"" > $system.top
echo -e "#include \"../itp/$anion.itp\" \n \n[system]" >> $system.top
echo -e "$system \n \n[molecules]" >> $system.top
echo "$cation 200" >> $system.top
echo "$anion 200" >> $system.top

Se puderem me ajudar, o script será mto útil pois preciso escrever mtos arquivos como este para cada combinação.


Obrigado


  


2. Re: Ajuda com loop for

Renan Arantes
R3nan

(usa Debian)

Enviado em 22/01/2016 - 18:52h

vc poderia dar um exemplo de qual seria o resultado final do script ? não intendo nd de quimica e ficou meio complicado pensar dessa forma rsrsrs se vc puder mudar o exemplo tb seria bom... vou tentar te ajudar


3. Re: Ajuda com loop for

tuanan da costa lourenco
tuanan

(usa Ubuntu)

Enviado em 23/01/2016 - 14:01h

Hehe, vou melhorar o exemplo. Eu estou fazendo o script para que ele gere vários arquivos de texto, mas em cada arquivo vai conter uma variável, tipo assim:

tenho duas variáveis a=(bola carro) e b=(bicicleta casa), o script teria que gerar dois arquivos de texto um com
------------------------ ARQUIVO 1
bola
bicicleta
--------------------------
e o outro com
--------------------ARQUIVO 2
carro
casa
----------------------
Da maneira que eu fiz acima eu consigo gerar este texto:

#include "../itp/emim\"
#include "../itp/pf6"
[system]
[molecules]
emim 200
pf6 200


onde as palavras em negrito são variáveis, a intenção é que ao declarar elas eu possa colocar mais de uma (um vetor) e que o script gere vários arquivos de texto cada um com um vetor diferente (mais ou menos como mostrei acima com o exemplo mais simples).
O que queria era automatizar para que eu possa gerar vários arquivos de texto cada um com um cátion e ânion diferente (as duas palavras em negrito, emim - cation e pf6 - anion) através de um único script.
Consegui melhorar a pergunta?

De qualquer forma muito obrigado pela atenção






4. Re: Ajuda com loop for

Renan Arantes
R3nan

(usa Debian)

Enviado em 23/01/2016 - 16:18h

pelo exemplo que vc deu desenvolvi o script abaixo, veja se é isso que vc precisa ok... ao rodar o script ele vai criar o arquivo1.txt e arquivo2.txt


#!/bin/bash
a=(bola carro)
b=(bicicleta casa)

count=0
for i in ${a[*]}; do
count=$((count+1))
echo $i >> "arquivo"$count".txt"
done

count=0
for i in ${b[*]}; do
count=$((count+1))
echo $i >> "arquivo"$count".txt"
done




5. res: Ajuda com loop for

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 23/01/2016 - 16:32h

R3nan escreveu:

pelo exemplo que vc deu desenvolvi o script abaixo, veja se é isso que vc precisa ok... ao rodar o script ele vai criar o arquivo1.txt e arquivo2.txt


#!/bin/bash
a=(bola carro)
b=(bicicleta casa)

count=0
for i in ${a[*]}; do
count=$((count+1))
echo $i >> "arquivo"$count".txt"
done

count=0
for i in ${b[*]}; do
count=$((count+1))
echo $i >> "arquivo"$count".txt"
done




+1

eu ia ajudar mas você foi mais rápido.kkkkkk


---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts