|
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 |
`
). 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".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
>> 2013/11/29 Anderson Junior <andersonscinfo@...>
> 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.
>
>
------------------------------------>
> >
> >
> > 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/
[Prev in Thread] | Current Thread | [Next in Thread] |