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

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

Re: [shell-script] Adicionar conteúdo de variável em arquivos que refere


From: Carlos Adean
Subject: Re: [shell-script] Adicionar conteúdo de variável em arquivos que referenciam outros arquivos
Date: Tue, 19 Mar 2013 11:58:43 -0300

Julio,

Muito obrigado pela ajuda! Como eu disse no primeiro email, não
conseguiria sozinho.

Uma outra solução (dica de uma colega de trabalho):

VAR=/CAMINHO
find /triledir -name '*.dat' -print0 | xargs -0 perl -i -p -e 'if
(/.*\.dat/) { s:(\S+\.dat):\$VAR/$1:g; }'


Abcs

--
Att.
Carlos Adean


Em 14 de março de 2013 23:26, Carlos Adean <address@hidden> escreveu:
> Olá Julio,
>
> Desde já obrigado por responder.
>
> Mencionei a 1a e a última linha apenas para exemplificar o que eu
> preciso, as escolhi aleatoriamente. Essas cinco linhas foram copiadas
> de um arquivo .dat qualquer.
>
> Aproveitando a numeração que você colocou, na linha quatro tenho um
> exemplo de dois arquivos sendo referenciados.
>
> resumindo...
>
> VAR=/CAMINHO_COMUM/
>
> Nos arquivos encontro o conteúdo abaixo:
> 1 isotrack/final/pne_wd_test.dat # kind_postagb, file_postagb DA
> VERIFICARE file_postagb
> 0 tab_ifmr/weidemann.dat # ifmr_kind, file with ifmr
> 1 isotrack/griglie_tutto_corr.dat isotrack/bassazams_mista.dat
> #kind_tracks, file_isotrack, file_lowzams
> 0.019   bc_odfnew/corot/c_p00.dat
>
> Preciso que fiquem assim:
> 1 /CAMINHO_COMUM/isotrack/final/pne_wd_test.dat # kind_postagb, file_postagb 
> DA
> VERIFICARE file_postagb
> 0 /CAMINHO_COMUM/tab_ifmr/weidemann.dat # ifmr_kind, file with ifmr
> 1 /CAMINHO_COMUM/isotrack/griglie_tutto_corr.dat
> /CAMINHO_COMUM/isotrack/bassazams_mista.dat
> #kind_tracks, file_isotrack, file_lowzams
> 0.019  /CAMINHO_COMUM/bc_odfnew/corot/c_p00.dat
>
>
> --
> Att.
> Carlos Adean
> skype: carlosadean | fb.com/carlosadean
>
>
>
> Em 14 de março de 2013 22:38, Julio C. Neves <address@hidden> escreveu:
>> Carlos,
>> Veja isso:
>> $ echo '#From dust/RFp00gra70.dat :
>> #From dust/RFp00g
>> 1 isotrack/final/pne_wd_test.dat # kind_postagb, file_postagb DA
>> VERIFICARE file_postagb
>> 0 tab_ifmr/weidemann.dat # ifmr_kind, file with ifmr
>> 1 isotrack/griglie_tutto_corr.dat isotrack/bassazams_mista.dat
>> #kind_tracks, file_isotrack, file_lowzams
>> 0.019bc_odfnew/corot/bc_p00.dat' | grep -F .dat | cat -n
>>      1 #From dust/RFp00gra70.dat :
>>      2 1 isotrack/final/pne_wd_test.dat # kind_postagb, file_postagb DA
>>      3 0 tab_ifmr/weidemann.dat # ifmr_kind, file with ifmr
>>      4 1 isotrack/griglie_tutto_corr.dat isotrack/bassazams_mista.dat
>>      5 0.019bc_odfnew/corot/bc_p00.dat
>>
>> Ou seja 5 linhas possuem .dat, mas vc só mencionou a 1a. e a última.
>>
>> Abcs,
>> Julio
>> *@juliobash*
>>
>> *Próximos Cursos de Shell*
>>
>>    *Cidade*
>>
>> *Data Início*
>>
>> *Local*
>>
>> Curitiba
>>
>> 04/03
>>
>> SoftSell<http://www2.softsell.com.br/?system=treinamentos&id=323&action=read>
>>
>> Recife
>>
>> 01/04
>>
>> Fuctura <http://www.fuctura.com.br/cursos/curso-de-shell-scripts/>
>>
>>
>>
>> Em 14 de março de 2013 16:19, Carlos Adean <address@hidden> escreveu:
>>
>>> **
>>>
>>>
>>> Salve,
>>> Caros
>>>
>>> Estou com um problema interessante e que não consigo resolver sozinho,
>>> apesar de saber me virar com shell script.
>>>
>>> Tenho um aplicativo que lê umas centenas de arquivos auxiliares .dat,
>>> que na verdade são texto puro. O problema é que só consigo executar
>>> tal aplicativo se estiver no mesmo diretório que o seus auxiliares,
>>> pois o caminho para a maioria destes arquivos é referenciado dentro
>>> deles mesmos, um referencia outro e isso não ocorre com todos.
>>>
>>> Preciso incluir à frente do PATH de cada arquivo referenciado, o
>>> conteúdo de uma variável de ambiente que aponte para um lugar comum a
>>> todos eles, porém, com uma condição. Só serão alterados aqueles que
>>> fazem referência a outro arquivo, ou seja, aqueles que contém '.dat'
>>> em seu interior. Atualmente eles ficam em diversos subdiretórios
>>> abaixo do diretório principal do aplicativo.
>>>
>>> Existe outro porém, como vocês podem ver abaixo, o conteúdo dos
>>> arquivos não segue um padrão e em algumas linhas encontramos
>>> referência a dois arquivos .dat.
>>>
>>> [cadean@hosted trilegal]$ find . -name '*.dat' -print0 | xargs -0 cat
>>> | grep .dat
>>>
>>> #From dust/RFp00gra70.dat :
>>> #From dust/RFp00g
>>> 1 isotrack/final/pne_wd_test.dat # kind_postagb, file_postagb DA
>>> VERIFICARE file_postagb
>>> 0 tab_ifmr/weidemann.dat # ifmr_kind, file with ifmr
>>> 1 isotrack/griglie_tutto_corr.dat isotrack/bassazams_mista.dat
>>> #kind_tracks, file_isotrack, file_lowzams
>>> 0.019 bc_odfnew/corot/bc_p00.dat
>>>
>>> A título de exemplo pegando a primeira e a última linha, então ficaria:
>>> VAR=/caminho_comum/
>>>
>>> #From /caminho_comum/dust/RFp00gra70.dat
>>> 0.019 /caminho_comum/bc_odfnew/corot/bc_p00.dat
>>>
>>> desde já obrigado.
>>>
>>> --
>>> Att.
>>> Carlos Adean
>>> skype: carlosadean | fb.com/carlosadean
>>>
>>> "There are only 10 types of people in the world: Those who understand
>>> binary, and those who don't."
>>>
>>>
>>
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>> ------------------------------------
>>
>> ---------------------------------------------------------------------
>> Esta lista não admite a abordagem de outras liguagens de programação, como 
>> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
>> aviso.
>> ---------------------------------------------------------------------
>> Sair da lista: address@hidden
>> ---------------------------------------------------------------------
>> Esta lista é moderada de acordo com o previsto em 
>> http://www.listas-discussao.cjb.net
>> ---------------------------------------------------------------------
>> Servidor Newsgroup da lista: news.gmane.org
>> Grupo: gmane.org.user-groups.programming.shell.brazil
>>
>> Links do Yahoo! Grupos
>>
>>


reply via email to

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