Assim tbm funciona, eu acho (pelo menos no teste funcionou)...
#!/bin/bashwhile read linha; donumero=${linha%%)*}modelo=${linha##* }teste=${linha#*)}nome=${teste/$modelo/}echo
"NUMERO: ${numero}"echo "NOME : ${nome}"echo -e "MODELO: ${modelo}\n"done<
impressoras
tentei fazer sem adicionar a linha teste, mas não consegui... não manjo mto de
bash expansion... =/
Abs,Enio Onodera
--- Em sex, 29/4/11, Julio C. Neves<address@hidden> escreveu:
De: Julio C. Neves<address@hidden>
Assunto: Re: [shell-script] bash expansion
Para: address@hidden
Data: Sexta-feira, 29 de Abril de 2011, 10:55
Olá Gustavo,
sempre pode ser mais simples do que se pensa.
$ echo "1) cpd epsonfx
2) teste epsonfx
3) teste agp epsonfx
6) pessoal epsonfx
16) pessoal1 epsonlx
26) pessoal2 hpdjet" | while read Num Nome Modelo
do
Num=${Num%?}
echo -e "$Num\t$Nome\t$Modelo"
done
1 cpd epsonfx
2 teste epsonfx
3 teste agp epsonfx
6 pessoal epsonfx
16 pessoal1 epsonlx
26 pessoal2 hpdjet
Boa sorte
Cordialmente,
Julio Neves
*Quer programar bem em Shell?*
*Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*
My profiles: [image: Twitter]<http://twitter.com/juliobash>
Contact me: [image: Skype/] julioneves1
Em 29 de abril de 2011 10:00, Gustavo Soares [SLot]<address@hidden>escreveu:
Ola galera.
Tenho o seguinte arquivo:
1) cpd epsonfx
2) teste epsonfx
3) teste agp epsonfx
6) pessoal epsonfx
16) pessoal1 epsonlx
26) pessoal2 hpdjet
E fiz o script pra poder ler esse arquivo e separar umas coisinhas pra mim.
#!/bin/bash
while read linha; do
numero=${linha%%)*}
modelo=${linha##* }
nome=$(echo ${linha} | sed "s/$modelo//;s/$numero) //")
echo "NUMERO: ${numero}"
echo "NOME : ${nome}"
echo -e "MODELO: ${modelo}\n"
done< impressoras
O que gostaria e de trocar o sed por expansion mas não sei como fazer
pra remover $numero $modelo, o que sobrar vira $nome.
Uma saida pra poder ajudar
NUMERO: 1
NOME : cpd
MODELO: epsonfx
NUMERO: 2
NOME : teste
MODELO: epsonfx
NUMERO: 3
NOME : teste agp
MODELO: epsonfx
NUMERO: 6
NOME : pessoal
MODELO: epsonfx
NUMERO: 16
NOME : pessoal1
MODELO: epsonlx
NUMERO: 26
NOME : pessoal2
MODELO: hpdjet
Obrigado.
--
-------------------
SLot
UIN: 19596909
Linux User: 124842
Jabber: address@hidden
Emails: address@hidden | address@hidden
[As partes desta mensagem que não continham texto foram removidas]
[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