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

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

Re: [shell-script] Re: Substituir parte de um arquivo texto previamente


From: Eduardo Júnior
Subject: Re: [shell-script] Re: Substituir parte de um arquivo texto previamente identificado
Date: Fri, 29 Nov 2013 23:21:42 -0200

Retirado do Papo de Botequim [1]:

"... devo dizer que existe uma construção mais moderna que vem sendo utilizada como forma de priorização de execução de comandos, tal qual as crases (`). São as construções do tipo $(cmd), onde cmd é um (ou vários) comando que será(ão) executado(s) com prioridade em seu contexto. Assim sendo, o uso de crases (`) ou construções do tipo $(cmd) servem para o mesmo fim, porém para quem trabalha com sistemas operacionais de diversos fornecedores (multiplataforma), aconselho o uso das crases, já que o $(cmd) não foi portado para todos os sabores de Shell".

[1] http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo001



2013/11/29 Anderson Junior <address@hidden>
João, ficou perfeito, muito obrigado, funcionou redondinho, mas vi que vc usou  () em vez de ``, tem diferença entre eles?

Att.
Anderson Junior

--- Em address@hidden, João Olavo Baião de Vasconcelos <joaoolavo@...> escreveu
>
> Anderson, não se esqueça das aspas. =)
>
> $ subs_str="$1"
> $ arquivo="$(cat util_32.spec)"
> $ echo "${arquivo/@versao/$subs_str}" > util$1_32.spec
>
> Veja se isso já resolve.
>
>
> 2013/11/29 Anderson Junior <andersonscinfo@...>
>
> >
> >
> > Bom dia colegas, estou fazendo um script pra automatizar um processo de
> > geração de pacotes rpm e pacotes deb, 32 e 64 bits, é um script que no
> > final vai ficar bem bagunçado (rsrsrs), neste momento do script preciso
> > editar via shell script alguns arquivos com a estenção .spec que na verdade
> > são arquivos de texto, pra facilitar as strigns dentro deste arquivo que
> > quero mudar é o campo versão, eu coloquei assim @versao ex:
> >
> > Name: utils-anderson
> > Version: @versao
> > Summary: utilitarios de uso diario
> > Release: 1%{?dist}
> > License: PRIVATE
> > URL: http://naotenho.cnet/
> > Source0: utils-anderson.tar.gz
> >
> > BuildArch: noarch
> > BuildRoot: %{_tmppath}/%{name}-%{release}-r
> >
> > #BuildRequires:
> > Requires: zip, unzip
> >
> > %description
> > Utilitarios
> >
> > %prep
> > %setup -q
> > ...
> >
> > esta é uma parte do script e eu gostaria de mudar na segunda linha o campo
> > @versao por o conteudo do parametro que passo na hora de chamar o script
> > $1, eu estou tentando algo como:
> >
> > $ subs_str=$1
> > $ arquivo=`cat util_32.spec`
> > $ echo ${arquivo/@versao/$subs_str} > util$1_32.spec
> >
> > funciona, mas o arquivo fica sem os enters, fica tudo bagunçado tipo:
> >
> > Name: utils-anderson Version: @versao Summary: utilitarios de uso diario
> > Release: 1%{?dist} License: GPL URL: http://naotenho.cnet/ Source0:
> > utils-anderson.tar.gz BuildArch: noarch
> > BuildRoot: %{_tmppath}/%{name}-%{release}-r #BuildRequires: Requires: zip,
> > unzip %description Utilitarios %prep %setup -q
> >
> > tem alguma outra forma de fazer isso e que fique linha abaixo de linha,
> > pensei em colocar um laço for, mas talvez tenha uma outra forma alem do for.
> >
> > Att.
> > Anderson Junior
> >
> >
> >
>
>
>
> --
> João Olavo Baião de Vasconcelos
> Analista de Sistemas - Infraestrutura
>




------------------------------------

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

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    address@hidden

<*> O uso que você faz do Yahoo Grupos está sujeito aos:
    http://info.yahoo.com/legal/br/yahoo/utos/terms/





--

Eduardo Moura da Silva Junior.

reply via email to

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