[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] variável zera
From: |
Felipe Sultani |
Subject: |
Re: [shell-script] variável zera |
Date: |
Wed, 12 Apr 2006 14:19:41 -0300 (ART) |
Entao tiago, fiz como vc disse:
#!/bin/bash
while read linha
do echo "linha = $linha"
done < <(ls -tr | tail -n 4)
line 5: syntax error near unexpected token `<'
line 5: `done < <(ls -tr | tail -n 4)'
e continua apresentando erro de sintaxe...
Felipe
Tiago Barcellos Peczenyj <address@hidden> escreveu: Opa, desculpe
faltou + um <
while read linha
do echo "linha = $linha"
done < <(ls -tr | tail -n 4)
Explicação: a estrutura
while ... done < arquivo
insere o conteudo do arquivo na entrada padrão (stdin), quando vc faz while
read variavel
vc lê atraves do read a stdin (que só vê o conteudo do arquivo por causa o
redirecionador '<'
Porem existe uma segunda estrutura que é assim
<(comando)
onde o resultado do comando é lido como se fosse um arquivo.
Exemplos:
Diferenças entre 2 diretorios
$ diff <(ls dir1) <(ls dir2)
Remover tabs
$ tr -d '\t' < arquivo
Abraços
On 4/12/06, Felipe Sultani <address@hidden> wrote:
>
> Tiago,
>
> Vc tem razao, o pipe gera um processo filho, mas o redirecionamento do
> stdin que vc enviou nao funciona:
>
> 4.sh: line 4: syntax error near unexpected token `('
> 4.sh: line 4: `done <( ls -tr | tail -n 4 )'
>
> Felipe
>
> Tiago Barcellos Peczenyj <address@hidden> escreveu: Ola
>
>
> O pipe | gera um subshell, então a sua variavel é copiada para o subshell,
> incrementada e some.
>
> Experimente usar
>
> while read arq
> do echo "SEQ = $SEQ <$arq>"
> (( SEQ++ ))
> done <( ls -tr | tail -n 4 )
>
> On 4/11/06, Felipe Sultani <address@hidden> wrote:
> >
> > Srs,
> >
> > Fiz um script q varre os arquivos de uma pasta, mas a cada iteração a
> > sequência volta ao valor inicial. Alguém pode me dar um help?
> >
> > Segue o script:
> >
> > #!/bin/bash
> > SEQ=1
> >
> >
> > while true
> > do
> > echo "LOOP PRINC $SEQ"
> > ls -tr | tail -n 4 | while read arq
> > do
> > echo "SEQ = $SEQ <$arq>"
> > (( SEQ++ ))
> > done
> > sleep 2
> > done
> >
> > Grato,
> > Felipe
> >
> >
> > =============================
> > Felipe Pavanello Sultani
> >
> > ---------------------------------
> > Yahoo! doce lar. Faça do Yahoo! sua homepage.
> >
> > [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
> >
> >
> >
> >
> > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE
> > <
> http://br.ard.yahoo.com/SIG=12f43nl1g/M=399886.8024024.9151850.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1144803947/A=3489955/R=2/id=noscript/SIG=154jd0qmm/*http://lt.dell.com/lt/lt.aspx?CID=11921&LID=328479&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3ddhs
> >
> > ------------------------------
> > *Links do Yahoo! Grupos*
>
> >
> > - Para visitar o site do seu grupo na web, acesse:
> > http://br.groups.yahoo.com/group/shell-script/
> >
> > - Para sair deste grupo, envie um e-mail para:
> > address@hidden<
> address@hidden?subject=Unsubscribe>
>
> >
> > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> >
> >
>
>
> --
>
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
>
> [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
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
> do Yahoo!.
>
>
>
>
> =============================
> Felipe Pavanello Sultani
>
> ---------------------------------
> Abra sua conta no Yahoo! Mail - 1GB de espaço, alertas de e-mail no
> celular e anti-spam realmente eficaz.
>
>
> [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
>
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE
> <http://br.ard.yahoo.com/SIG=12f7nu9sp/M=399886.8024024.9130880.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1144862273/A=3495191/R=2/id=noscript/SIG=154jd0qmm/*http://lt.dell.com/lt/lt.aspx?CID=11921&LID=328479&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3ddhs>
> ------------------------------
> *Links do Yahoo! Grupos*
>
> - Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> - Para sair deste grupo, envie um e-mail para:
> address@hidden<address@hidden?subject=Unsubscribe>
>
> - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>
--
Tiago B Peczenyj
Linux User #405772
# cd /pub
# more beer
[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
Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
Para sair deste grupo, envie um e-mail para:
address@hidden
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
Yahoo!.
=============================
Felipe Pavanello Sultani
---------------------------------
Abra sua conta no Yahoo! Mail - 1GB de espaço, alertas de e-mail no celular e
anti-spam realmente eficaz.
[As partes desta mensagem que não continham texto foram removidas]