[Rio-pm] find and replace

breno breno em rio.pm.org
Sábado Fevereiro 25 16:39:16 PST 2012


On Sat, Feb 25, 2012 at 8:40 PM, André Torres <andretorresrj em gmail.com> wrote:
> pessoal, queria pedir uma ajuda de vcs.
>
> eu to tentando fazer um script pra modificar um txt em larga escala usando
> uma lista de substituição.
> vou trabalhar com os seguintes arquivos.
>
> primeiro: arquivo que vai ser modificado
>>sequencia1
> acagacagatttagatt
>>sequencia2
> acgggtagtagtaccgagatgagatggggat
> ...
>
> segundo: lista de substituição
> sequencia1    gene1
> sequencia2    gene2
> ...
>
> eu queria saber se existe uma maneira de guardar a informação da linha[1] e
> da linha[2] por exemplo possam fazer parte  s/$linha[1]/$linha[2]/g em
> cadeia ate terminar a lista.
>

Uma sugestão:

leia a lista de substituição pra dentro de um hash na forma:

%substituicao = (
   sequencia1 => 'gene1',
   sequencia2 => 'gene2',
   ...
);

depois, ao ler o arquivo a ser modificado linha-a-linha, sempre que a
linha casar com uma chave do seu hash (e.g. if ( exists
$substituicao{$linha} )) vc lê a linha seguinte e substitui o que vc
quiser pelo conteúdo de $substituicao{$linha}.

[]s

-b


Mais detalhes sobre a lista de discussão Rio-pm