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

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

RES: [shell-script] Problemas com o awk...


From: Julio Cezar Neves - DISB.O
Subject: RES: [shell-script] Problemas com o awk...
Date: Tue, 17 Oct 2000 12:30:38 -0300

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 à 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=0
linha=0
for imagem in *.sh
do
    numimg=`expr $numimg + 1`
    linha=`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 nº 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
-----Mensagem original-----
De: J. A. Boyd [mailto:address@hidden]
Enviada em: segunda-feira, 16 de outubro de 2000 11:21
Para: address@hidden
Assunto: [shell-script] Problemas com o awk...


Oi Pessoal !

        Estou fazendo, isto é, tentando fazer, um script que em determinado
momento deve me mostrar uma lista de todos os arquivos com uma determinada
extensão ('.cds' no caso). Até aí tudo bem, o "for" faz tudo certinho, só
que para formatar a saída eu quero usar o awk e estou apanhando. Conforme o
trecho abaixo:

<--- corta --->
    for imagem in `echo *.cds`
    do
            numimg=`expr $numimg + 1`
            linha=`expr $linha + 1`
            tput cup $linha 0
# *** aqui ***
            awk '{ printf "%3s - %40-s\n", "'$numimg'", "'$imagem'" }'
# ************
#            echo -e "\c$numimg - $imagem\n"
    done
<--- corta --->

Quando executo, a primeira linha é exibida ok, aí tudo para até que teclo
alguma coisa (porquê ?) e a mesma linha é exibida novamente. Isso continua
"ad infinitum" ou até que eu interrompa o script.

Se alguém puder me ajudar agradeço... estou lendo o livro do Júlio Cézar
Neves (muito bom por sinal !!! Parabéns Júlio !!!) que está me ajudando
muito, mas está me faltando idéia pra entender / resolver essa...

Agradeço antecipadamente.

[]'s,

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




Inscrição:     address@hidden

Sair da lista: address@hidden

Banco Dados:   http://www.egroups.com/group/shell-script


reply via email to

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