Programa para rodar vários comandos automaticamente

Iniciado por juliapmiranda, 04 de Julho de 2011, 12:49

tópico anterior - próximo tópico

juliapmiranda

Olá, eu estou começando a trabalhar com linux e ainda sou muito novata hehe.

Gostaria de saber se alguem saberia me ajudar no seguinte problema.

Eu tenho 66 pastas e cada um contém um script para um programa chamado pymol e os arquivos necessários para rodar esse programa.
Manualmente, eu vou até cada pasta pela linha de comando e digito 'pymol 000000.pml' (o 00000 seria o número-nome de cada arquivo sao variados 000453 000322 etc).
O caso é que eu gostaria de algum comando ou programinha que fizesse isso automaticamente para mim. Entrasse na pasta de nome 000000 encontrasse o arquivo 00000.pml e rodasse pymol com esse arquivo, para todas as 66 pastas e respectivos arquivos. Também precisaria fechar o pymol antes de inserir novamente o comando para rodar ele novamente.

Não sei se ficou confuso, mas espero que alguem possa me ajudar

beijos, obrigada.

Tota

Ola

À maneira que postou esta parecendo que quer resolver uma "lição de casa".

poste por favor qual ubuntu está usando e em que versão,

explique o que faz este tal pymol, bem como cite o que pesquisou sobre scripts, bem como o que já tentou.

Assim o forum poderá te auxiliar com mais exatidão.

[]'s

juliapmiranda

Tá, olha só. Eu faço iniciação científica em bioinformática, mas não sou programadora nem familiarizada com Linux. Eu uso Debian.
O que eu já tentei foi um comando que um amigo meu passou e disse que funcionaria, mas não funcionou esse aqui :

for a in `ls 0*`; do cd $a; pymol $a.pml; cd ..; done

O pymol é um programa que mostra a estrutura tridimensional de uma proteína. É apenas um programa para visualizar e editar cor, modo de visualização etc.
O script default que eu fiz que é o 000000.pml é um arquivo de texto com uma série de comandos do próprio pymol. Por exemplo "set transparency, 0.7", que deixa a proteína com 70% de transparência.

Eu queria um comando/script/programa que rodasse todos os 66 diferentes scripts que eu tenho para as minhas 66 proteínas. É isso.
Deu para entender?

Eu sou noob, sorry.

Tota

ola

tentou perguntar isto no forum do debian?

este forum é para o Ubuntu, e algumas pastas e comandos são diferentes do Debian, logo vove pode ter mais problemas que soluções

baixe e estude o guia foca linux disponivel gratuitamente na rede, com ele voce começa a aprender sobre scripts

[]'s

irtigor

Vai ser alguma coisa assim

find /caminho/ate/a/pasta/pai -type f -iname *.pml -print > /tmp/pymol.list  
while read LINE; do
 pymol "$LINE"
 # se nao tivesse que matar: find /caminho/ate/a/pasta/pai -type f -iname *.pml -exec pymol {} \;
 sleep XX && killall pymol
done < /tmp/pymol.list


Citação de: juliapmiranda online 04 de Julho de 2011, 12:49
Não sei se ficou confuso, mas espero que alguem possa me ajudar
Um exemplo com ls -R ou tree cortaria o texto pela metade.