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

Re: Ajuda com script



Em Segunda 25 Junho 2007 14:27, Maxwillian Miorim escreveu:
> On 6/25/07, Davi <davividal@siscompar.com.br> wrote:
> > Em Segunda 25 Junho 2007 14:12, Sávio Ramos escreveu:
> > > Olá,
> > >
> > >
> > > dpkg -l | awk '{print $2}' > pacotes
> > >
> > > aptitude download  nomes_dos_pacotes_que_estão_no_arquivo_texto
> > >
> > > Dá para fazer um script para um arquiteto que não manja nada de
> > > computação?
> >
> >         Olá.
> >
> >         Testei aqui e não funcionaram muito bem as duas primeiras:
> >
> > # dpkg -l | grep -E "^[a-z]" | awk '{print $2}' | xargs aptitude download
> >
> > # aptitude download `for i in \`dpkg -l | grep -E "^[a-z]" | awk '{print
> > $2}'\`; do echo "$i "; done;`
> >
> >         Mas esse funciona:
> >
> > # for i in \`dpkg -l | grep -E "^[a-z]" | awk '{print $2}'\`; do aptitude
> > download $i; done;
> >
> >         Mas é muito pesado...
>
> Não entendi porque este match (grep -E "^[a-z]"), e se o pacote começa
> com maiúsculas ou números?
>

	Porque se você fizer só um dpkg -l | awa ...., ele va ipegar as primeiras 
linhas do dpkg:

status=Não/Instalado/arquiv.-Config./U=Descomp./Falhou-config/H=semi-inst.
Erro?=(nenhum)/H=Mantido/precisa-Reinst./X=os
Nome

	A idéia do grep, é pegar apenas os pacotes mesmo:

# dpkg -l
Desejado=U=Desconhecido/Instalar/Remover/aPagar/H=Manter
| status=Não/Instalado/arquiv.-Config./U=Descomp./Falhou-config/H=semi-inst.
|/ Erro?=(nenhum)/H=Mantido/precisa-Reinst./X=os dois problemas (status,Erro: 
maiúsculas=ruim)
||/ Nome           Versão         Descrição
+++-==============-==============-============================================
ii  adduser        3.102          Add and remove users and groups
rc  apache2-common 2.0.54-5sarge1 next generation, scalable, extendable web se
ii  apt            0.6.46.4-0.1   Advanced front-end for dpkg
ii  apt-spy        3.1-16         writes a sources.list file based on bandwidt
ii  apt-utils      0.6.46.4-0.1   APT utility programs
ii  aptitude       0.4.4-4        terminal-based apt frontend
[...]

	As linhas dos pacotes mesmo, só começam com letras minúsculas.

> O ideal em termos de performance é:
>
> dpkg -l | awk '{ print $2 }' | xargs aptitude download
>
>
	Aí caí no probleminha das primeiras linhas e...

> Se quiser fazer algum filtro por expressão regular:
>
> dpkg -l | awk '/sua_regex_aqui/ { print $2 }' | xargs aptitude download
>

	... e daí você me apresenta algo novo (para mim)... =)
>
> man awk ;)

	Vou dar uma estudada... Mas agora, sem tempo... =(

	Obrigado! :-)

[]s

-- 
Davi Vidal
davividal@siscompar.com.br
davividal@gmail.com
--
"Religion, ideology, resources, land,
spite, love or "just because"...
No matter how pathetic the reason,
it's enough to start a war. "
--------------------------------------------------------
Por favor não faça top-posting, coloque a sua resposta abaixo desta linha.
Please don't do top-posting, put your reply below the following line.
--------------------------------------------------------

Attachment: pgpvOLYVAjiQf.pgp
Description: PGP signature


Reply to: