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

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

RESOLVIDO: Re: [shell-script] bash expansion


From: Gustavo Soares [SLot]
Subject: RESOLVIDO: Re: [shell-script] bash expansion
Date: Fri, 29 Apr 2011 14:39:56 -0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10

Muito obrigado galera. Funcionou perfeitamente.



Em 29-04-2011 12:41, Enio Onodera escreveu:
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




--
-------------------
SLot
UIN: 19596909
Linux User: 124842
Jabber: address@hidden
Emails: address@hidden  | address@hidden



reply via email to

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