[Ubuntu-PT 9772] Re: comando seed com variáveis

Luis luismalaca gmail.com
Sábado, 20 de Outubro de 2012 - 18:41:27 UTC


Em 20-10-2012 19:27, Paulo Pinhal escreveu:
> Que achaste do script?
>   No dia 19 de Out de 2012 22:03, "Luis" <luismalaca  gmail.com> escreveu:
>
>> Em 19-10-2012 12:23, Paulo J. S. Pinhal escreveu:
>>
>>> Em 15-10-2012 22:19, Luis escreveu:
>>>
>>>> Em 15-10-2012 14:00, Paulo J. S. Pinhal escreveu:
>>>>
>>>>> Em 12-10-2012 23:50, Luis escreveu:
>>>>>
>>>>>> Em 12-10-2012 23:32, Paulo J. S. Pinhal escreveu:
>>>>>>
>>>>>>> boa noite a todos.
>>>>>>> através do comando sed, quero adicionar num ficheiro (neste caso
>>>>>>> f1.txt) uma linha após de texto (cujo conteúdo está na em $variavel) após
>>>>>>> qualquer linha que apresente, por exemplo, PALAVRA. estou usando o exemplo
>>>>>>> abaixo, mas não funciona. alguém me pode ajudar?
>>>>>>> sed '/PALAVRA/{p;s/.*/'$variavel'/**;}' Comus.xml > f1.xml
>>>>>>>
>>>>>>> desde já meus agradecimentos.
>>>>>>>
>>>>>>>   Só uma pergunta: se o script começa com o parentesis, porque razão a
>>>>>> declaração começa com apóstrofo? Atenção, é só uma dúvida.
>>>>>>
>>>>>> Luis
>>>>>>
>>>>>>   E meu muito obrigado por V/ respostas.
>>>>> Sempre achei o sed com um "aspeto" muito sombrio... resolvi criar o
>>>>> programa pretendido em python. muito mais simples...
>>>>>
>>>>>   Só por curiosidade, gostava de ver esse script em python.
>>>> cumps Luis
>>>>
>>>>   Bom dia.
>>> O script que fiz em Python (por achar que em bash é demasiado complicado)
>>> serviu para adaptar pistas do jogo Torcs para o Speed Dreams, que baixei de
>>> http://trackgen.pierlucalanzi.**net/ <http://trackgen.pierlucalanzi.net/>
>>> .
>>> O código é o seguinte:
>>> #!/usr/bin/env python
>>> # -*- coding: utf-8 -*-
>>>
>>> import os
>>> from commands import *
>>> import string
>>>
>>> def Lista_de_Pastas():
>>>      pastas= getoutput('ls').split("\n")
>>>      auxiliar= []
>>>      for p in range(0, (len(pastas)-1)):
>>>          if not "." in str(pastas[p]):
>>>              auxiliar.append(str(pastas[p])**)
>>>      return auxiliar
>>> #FIM def Lista_de_Pastas():
>>>
>>> def Dados_da_Pista(_pista):
>>>      lista= _pista.split("-");
>>>      cidade= lista[0];
>>>      categoria= "road-"+lista[-1]
>>>      return cidade, categoria
>>> #FIM def Dados_da_Pista(_pista):
>>>
>>> def Converte(_pista):
>>>      auxiliar= _pista+".png"
>>>      os.rename(auxiliar, "outline.png")
>>>      os.rename("track.png", auxiliar)
>>>      os.remove("convert_to_**speeddreams.bat")
>>>      os.remove("convert_to_**speeddreams.sh")
>>> #FIM def Converte(_pista):
>>>
>>> def Altera_XML(_pista):
>>>      str_de_referencia= "<attnum name=\"version\" val=\"4\" />"
>>>      str_a_inserir= "<attnum name=\"sky version\" val=\"1\" />"
>>>      cidade, categoria= Dados_da_Pista(_pista)
>>>      arquivo=_pista+".xml"
>>>
>>>      fp = open(arquivo, 'r')
>>>      conteudo1 = fp.read()
>>>      fp.close()
>>>
>>>      fp = open(arquivo, 'w')
>>>      conteudo2 = conteudo1.replace("\""+_pista+**"\"", "\""+cidade+"\"")
>>>      conteudo1 = conteudo2.replace("\"road\"", "\""+categoria+"\"")
>>>      conteudo2 = conteudo1.replace(str_de_**referencia,
>>> str_de_referencia+"\n    "+str_a_inserir)
>>>      fp.write(conteudo2)
>>>
>>>      fp.close()
>>> #FIM def Altera_XML(_pista):
>>>
>>> def Fala(_texto):
>>>      _texto="espeak -a 150 -b 1 -g 10 -s 150 -v pt-pt " + _texto
>>>      os.system(_texto);
>>>
>>> def Executa():
>>>      pastas= Lista_de_Pastas()
>>>      for pasta in pastas:
>>>          print "Convertendo a pasta: "+pasta
>>>          os.chdir(str(pasta))
>>>          Converte(pasta)
>>>          Altera_XML(pasta)
>>>          for ficheiro in os.listdir("."):
>>>              os.chmod(ficheiro, 0644); #644
>>>          os.chdir("..")
>>>          os.chmod(pasta, 0755); #755
>>>      print "Conversão terminada."
>>> #FIM def Executa():
>>>
>>> Executa()
>>>
>>> Faço notar que esta foi minha primeira experiência com Python.
>>>
>>>
>>>
>>>   Obrigado Paulo
>> cumps Luis
>>
>>
>> --
>> ubuntu-pt mailing list
>> ubuntu-pt  lists.ubuntu.com
>> https://lists.ubuntu.com/**mailman/listinfo/ubuntu-pt<https://lists.ubuntu.com/mailman/listinfo/ubuntu-pt>
>>
Acho que me vou dedicar mais ao python

Cumps Luis



Mais informações acerca da lista ubuntu-pt