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

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

Re: [shell-script] edição em variáveis


From: Flavio Cysne
Subject: Re: [shell-script] edição em variáveis
Date: Tue, 17 Apr 2012 13:43:30 -0300

Ricardo,

    a expressão ${p#/opt/} irá remover a menor ocorrência de /opt/ à
esquerda da variável.

    caso queira remover o primeiro diretório do caminho (para, talvez,
deixar mais genérico) podes utilizar ${p#/*/}

Espero ter ajudado.
Flávio Cysne

P.S.: Agradeço ao Júlio Neves por me ensinar vários macetes do shell. O que
fez possível essa minha contribuição.

Em 17 de abril de 2012 12:00, ®i©@®ÐØ <address@hidden>escreveu:

> **
>
>
> Bom dia Pessoal,
> Venho mais uma vez requisitar a ilustríssima ajuda dos senhores.
>
> Fiz o script abaixo:
> find /opt/p335/a* -type f \( -name "buildout.cfg" -o -name "versions.cfg"
> -o -name "bootstrap.py" \) -printf '%h %f \n'|while read p f; do echo "tar
> uvf /storage/conf/$(sed 's;/;_;g' <<< ${p}).tar $p/$f"; done
>
> Que tem a saída conforme o trecho a seguir:
> tar uvf /storage/conf/_opt_p335_ambienteProd_PREventos.tar
> /opt/p335/ambienteProd/PREventos/bootstrap.py
>
> *PROBLEMA:*
> *quero editar a variavel ${p}, de modo a remover o /opt/ do inicio da
> string, para que a saída seja "tar uvf
> /storage/conf/p335_ambienteProd_PREventos.tar
> /opt/p335/ambienteProd/PREventos/bootstrap.py"*
>
> tentei ${p%/opt/}, só que o % remove apenas do final,
>
> ex:
> find /opt/p335/a* -type f \( -name "buildout.cfg" -o -name "versions.cfg"
> -o -name "bootstrap.py" \) -printf '%h %f \n'|while read p f; do echo "tar
> uvf /storage/conf/$(sed 's;/;_;g' <<< ${p%PREventos}).tar $p/$f"; done
>
> tar uvf /storage/conf/_opt_p335_app_.tar
> /opt/p335/app/PREventos/versions.cfg
>
> Desde já,
> agradeço.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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