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: Julio C. Neves
Subject: Re: [shell-script] Adicionar conteúdo de variável em arquivos que referenciam outros arquivos
Date: Fri, 15 Mar 2013 10:56:21 -0300

Eu acho que o grep com a opção -o serve para vc. Veja como:
$ 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 -o '[[:alnum:]_/]*.dat'
dust/RFp00gra70.dat
isotrack/final/pne_wd_test.dat
tab_ifmr/weidemann.dat
isotrack/griglie_tutto_corr.dat
isotrack/bassazams_mista.dat
019bc_odfnew/corot/bc_p00.dat

Se já quiser fazer direto, faça:

$ 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 -o '[[:alnum:]_/]*.dat' | xargs -i
echo /diretorio/comum/{}
/diretorio/comum/dust/RFp00gra70.dat
/diretorio/comum/isotrack/final/pne_wd_test.dat
/diretorio/comum/tab_ifmr/weidemann.dat
/diretorio/comum/isotrack/griglie_tutto_corr.dat
/diretorio/comum/isotrack/bassazams_mista.dat
/diretorio/comum/019bc_odfnew/corot/bc_p00.dat

Onde esse último echo pode ser trocado por qq programa, inclusive por um cd.

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 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
> >
> >
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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