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

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

Problemas com o awk... uma solução !


From: J. A. Boyd
Subject: Problemas com o awk... uma solução !
Date: Wed, 18 Oct 2000 10:43:53 -0200 (BRST)

Oi Júlio ! (e Goedson também !!)

Obrigado pela resposta e pode ficar certo que vou incomodá-lo no outro
e-mail. Realmente, embora eu já seja um pouco, digamos, antigo na área
(comecei ainda meio moleque em unix com o SOX - este você conhece né ? - e o
Edix até 1990, quando então tive um longo e triste período de rwindows),
ainda não tinha me aventurado nos shell-scripts. Foi o seu livro que me
animou e vem servindo de base para um projetinho que estou desenvolvendo
quando sobra um tempo...

Voltando ao problema, mesmo com a solução que você me propôs, o problema
permanece, devo ter comido mais alguma bola... entretanto entendi
perfeitamente o problema e suas causas. 

Um outro amigo da lista, o Goedson Paixão, me alertou para um detalhe: no
meu caso, eu não preciso do awk, posso usar somente o printf ! (Valeu
Goedson !!) 

Aliás, você também alerta para isso no seu livro: as vezes nós criamos uns
"elefantes brancos". :-)))

Logo a "coisa" vai ficar +/- assim:

================================================
clear
numimg=0
linha=0
for imagem in *.cds
do
    numimg=`expr $numimg + 1`
    linha=`expr $linha + 1`
    tput cup $linha 0
    printf "%3s%40s", "'$numimg'", "'$imagem'"
done
================================================

Falta só fazer o resto !!

Mais uma vez *muito obrigado* a todos e desculpe se escrevi demais !!

[]'s,

--
../)....._/.    Jose Antonio Boyd Cardoso (SW)
/_)()\/(/...    E-mail: address@hidden
...../......    Registred Linux user number # 137975

On 17 Oct 2000 address@hidden wrote:

>
> Mensagem: 2
>     Data: Tue, 17 Oct 2000 12:30:38 -0300
>       De: "Julio Cezar Neves - DISB.O"
>  <address@hidden> Assunto: RES: Problemas com o
>  awk...
>
> Caro José Antonio, te agradeço de coração as felicitações e os elogios ao
> livro. O mais gratificante para um autor é ler um programa de uma pessoa
> que ele nem conhece (como é o nosso caso) e ver que baseado na sua obra
> esta pessoa evoluiu na programação e já está desenvolvendo programas.
>
> Respondendo a sua dúvida: o awk não funciona neste contexto porque ele
> precisa de receber os dados de entrada de um arquivo, de um pipeline (ou
> "conduto" como li em um livro traduzido. Estas traduções...) ou de stdin.
> Como vc não especificou a entrada, o awk fica aguardando os dados oriundos
> do teclado (stdin). Qdo vc tecla <enter> ele assume que os dados chegaram,
> imprime a linha resolvendo as variáveis e fica suspenso aguardando outra
> linha. Ele só executaria o for se após o <enter> ele encontrasse o final
> do arquivo (o que pode ser simulado com um <ctrl>+d).
>
> Aconselho portanto que seu programa fique assim:
>
> ===================================================
> clear
> numimg=3D0
> linha=3D0
> for imagem in *.sh
> do
>     numimg=3D`expr $numimg + 1`
>     linha=3D`expr $linha + 1`
>     tput cup $linha 0
>     awk '{ printf "%3s%40s", "'$numimg'", "'$imagem'" }'
> done
> =================================================== 
>
> Para finalizar, estou à sua disposição e de todos os meus (2 ou 3) leitores
> ;) para esclarecer dúvidas, críticas e sugestões, preferencialmente pelo
> e-mail constante do final do capítulo de apresentação
> (mailto:address@hidden), já que em pvt podemos abordar no de
> página, exemplos e exercícios do livro, que não seria compreensível para
> os membros da lista que tiveram o bom senso de não comprar a publicação. 
> :(
>
> [[]]s,
> Julio



reply via email to

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