(Exemplo)Como ler linha por linha de um arquivo de texto shell script?
Leandro estou passando abaixo os dois exemplos um do arquivo que tenho: [EMAIL PROTECTED]:~/musicastmp$ cat arquivo_exemplo #CONTEUDO DO ARQUIVO /mnt/hda7/Musicas/Vivaldi - Four Seasons - Summer.mp3 /mnt/hda7/Musicas/Angra - Carry On.mp3 /mnt/hda7/Musicas/Angra - Judgement Day.mp3 /mnt/hda7/Musicas/Angra - Nova era.mp3 Agora estou enviado o exemplo que voce me passou [EMAIL PROTECTED]:~/musicastmp$ cat linha2linha.sh Z=10 CL=0 for i in $(cat arquivo_exemplo); do CL=`expr $CL + 1` #echo " -- $CL -- " if [ "$CL" == "$Z" ]; then echo "$i" exit fi done [EMAIL PROTECTED]:~/musicastmp$ ./linha2linha #RETORNA On.mp3 preciso de algo do genero while(!arquivo_eof){ leia_linha $i do arquivo executa funcao xyz passando a linha $i como paramentro $i ++ } Tem como fazer isso no script? ___ Yahoo! Mail O melhor e-mail gratuito da internet: 6MB de espaço, antivÃrus, acesso POP3, filtro contra spam. http://br.mail.yahoo.com/
Re: (Exemplo)Como ler linha por linha de um arquivo de texto shell script?
Olá ... Pq vc nao usa algo como: for i in $(cat ); do COMANDO "$i" done []´s Marcio - Original Message - From: "Pablo Henrique" <[EMAIL PROTECTED]> To: "debian-list" Sent: Sunday, April 13, 2003 8:58 PM Subject: (Exemplo)Como ler linha por linha de um arquivo de texto shell script? > Leandro estou passando abaixo os dois exemplos um do > arquivo que tenho: > > [EMAIL PROTECTED]:~/musicastmp$ cat arquivo_exemplo > #CONTEUDO DO ARQUIVO > > /mnt/hda7/Musicas/Vivaldi - Four Seasons - Summer.mp3 > /mnt/hda7/Musicas/Angra - Carry On.mp3 > /mnt/hda7/Musicas/Angra - Judgement Day.mp3 > /mnt/hda7/Musicas/Angra - Nova era.mp3 > > Agora estou enviado o exemplo que voce me passou > > [EMAIL PROTECTED]:~/musicastmp$ cat linha2linha.sh > Z=10 > CL=0 > > for i in $(cat arquivo_exemplo); do > CL=`expr $CL + 1` > #echo " -- $CL -- " > if [ "$CL" == "$Z" ]; then > echo "$i" > exit > fi > done > [EMAIL PROTECTED]:~/musicastmp$ ./linha2linha > #RETORNA > > On.mp3 > > preciso de algo do genero > > while(!arquivo_eof){ > leia_linha $i do arquivo > executa funcao xyz passando a linha $i como > paramentro > $i ++ > } > > Tem como fazer isso no script? > > ___ > Yahoo! Mail > O melhor e-mail gratuito da internet: 6MB de espaço, antivÃrus, acesso POP3, filtro contra spam. > http://br.mail.yahoo.com/ > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > >
Re: (Exemplo)Como ler linha por linha de um arquivo de texto shell script?
Quoted by a town of mutant dolphins For `Pablo Henrique <[EMAIL PROTECTED]>' On Sunday, 13 April 2003 (20:58): > > preciso de algo do genero > > while(!arquivo_eof){ > leia_linha $i do arquivo > executa funcao xyz passando a linha $i como > paramentro > $i ++ > } > Tem sim. Mas como não sei resolver o problema dos espaços (me ajudem, por favor!), eu faria em Perl: #!/usr/bin/perl open(A, "$ARGV[0]"); while(){ $arquivo=$_; system("bleh bleh bleh ${arquivo}"); } close(A); -- Leandro Pereira (oO) <[EMAIL PROTECTED]> www.mindcrisis.tk/||\ GPG key: 0x062E7976 "O medo é uma coisa boa. Se você não tiver medo, pode acabar pulando pela janela" --Keith Richards
Re: (Exemplo)Como ler linha por linha de um arquivo de texto shell script?
Amigo tentei mais também não deu certo /mnt/hda7/Musicas/Vivaldi - Four Seasons - Summer.mp3 /mnt/hda7/Musicas/Angra - Carry On.mp3 /mnt/hda7/Musicas/Angra - Judgement Day.mp3 /mnt/hda7/Musicas/Angra - Nova era.mp3 pois os caminhos das mp3 acima estão com espaços no meio. []s ___ Yahoo! Mail O melhor e-mail gratuito da internet: 6MB de espaço, antivÃrus, acesso POP3, filtro contra spam. http://br.mail.yahoo.com/
Re: (Exemplo)Como ler linha por linha de um arquivo de texto shell script?
Olá Pablo ! à que o Bash considera o espaço em branco como separador de nomes. Para mudar isso, redefina a variável (do Bash) IFS. Veja só: #-- #!/bin/bash IFS=' ' for NOME in `ls *` do echo $NOME # comandos bla bla bla com o arquivo $NOME done exit 0 #-- Veja que, na linha da variável IFS eu coloquei um ' (aspas simples) e teclei deixando o outro ' sozinho na linha de baixo. Ou seja, mudei o separador de "espaço em branco" para "final de linha". Boa sorte ! []'s, -- ../)._/.Jose Antonio Boyd Cardoso ./_)()\/(/..E-mail: [EMAIL PROTECTED] ../.Registred Linux user number # 137975 Em Sun, 13 Apr 2003 23:03:30 -0300 (ART) Pablo Henrique <[EMAIL PROTECTED]> escreveu: > Amigo tentei mais também não deu certo > > > /mnt/hda7/Musicas/Vivaldi - Four Seasons - Summer.mp3 > /mnt/hda7/Musicas/Angra - Carry On.mp3 > /mnt/hda7/Musicas/Angra - Judgement Day.mp3 > /mnt/hda7/Musicas/Angra - Nova era.mp3 > > > pois os caminhos das mp3 acima estão com espaços no > meio. > > []s
Re: (Exemplo)Como ler linha por linha de um arquivo de texto shell script?
Muito obrigado amigo vou testar assim que chegar em casa. --- "J. A. Boyd" <[EMAIL PROTECTED]> escreveu: > > Olá Pablo ! > > à que o Bash considera o espaço em branco como > separador de nomes. Para > mudar isso, redefina a variável (do Bash) IFS. Veja > só: > > #-- > #!/bin/bash > > IFS=' > ' > for NOME in `ls *` > do > echo $NOME > # comandos bla bla bla com o arquivo $NOME > done > > exit 0 > #-- > > Veja que, na linha da variável IFS eu coloquei um ' > (aspas simples) e > teclei deixando o outro ' sozinho na linha > de baixo. Ou seja, > mudei o separador de "espaço em branco" para "final > de linha". > > Boa sorte ! > > []'s, > > -- > ../)._/.Jose Antonio Boyd Cardoso > ./_)()\/(/..E-mail: [EMAIL PROTECTED] > ../.Registred Linux user number # 137975 > > > > Em Sun, 13 Apr 2003 23:03:30 -0300 (ART) > Pablo Henrique <[EMAIL PROTECTED]> escreveu: > > > Amigo tentei mais também não deu certo > > > > > > /mnt/hda7/Musicas/Vivaldi - Four Seasons - > Summer.mp3 > > /mnt/hda7/Musicas/Angra - Carry On.mp3 > > /mnt/hda7/Musicas/Angra - Judgement Day.mp3 > > /mnt/hda7/Musicas/Angra - Nova era.mp3 > > > > > > pois os caminhos das mp3 acima estão com espaços > no > > meio. > > > > []s > > > -- > To UNSUBSCRIBE, email to > [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact > [EMAIL PROTECTED] > ___ Yahoo! Mail O melhor e-mail gratuito da internet: 6MB de espaço, antivÃrus, acesso POP3, filtro contra spam. http://br.mail.yahoo.com/
Re: (Exemplo)Como ler linha por linha de um arquivo de texto shell script?
Pablo, manda o arquivo e diga exatamente o que o script deve fazer com ele. Paro por aqui, Fred Pablo Henrique <[EMAIL PROTECTED]Para: debian-list com.br> cc: Assunto: Re: (Exemplo)Como ler linha por linha de um arquivo de texto shell script? 14/04/2003 11:08 Muito obrigado amigo vou testar assim que chegar em casa. --- "J. A. Boyd" <[EMAIL PROTECTED]> escreveu: > > Olá Pablo ! > > É que o Bash considera o espaço em branco como > separador de nomes. Para > mudar isso, redefina a variável (do Bash) IFS. Veja > só: > > #-- > #!/bin/bash > > IFS=' > ' > for NOME in `ls *` > do > echo $NOME > # comandos bla bla bla com o arquivo $NOME > done > > exit 0 > #-- > > Veja que, na linha da variável IFS eu coloquei um ' > (aspas simples) e > teclei deixando o outro ' sozinho na linha > de baixo. Ou seja, > mudei o separador de "espaço em branco" para "final > de linha". > > Boa sorte ! > > []'s, > > -- > ../)._/.Jose Antonio Boyd Cardoso > ./_)()\/(/..E-mail: [EMAIL PROTECTED] > ../.Registred Linux user number # 137975 > > > > Em Sun, 13 Apr 2003 23:03:30 -0300 (ART) > Pablo Henrique <[EMAIL PROTECTED]> escreveu: > > > Amigo tentei mais também não deu certo > > > > > > /mnt/hda7/Musicas/Vivaldi - Four Seasons - > Summer.mp3 > > /mnt/hda7/Musicas/Angra - Carry On.mp3 > > /mnt/hda7/Musicas/Angra - Judgement Day.mp3 > > /mnt/hda7/Musicas/Angra - Nova era.mp3 > > > > > > pois os caminhos das mp3 acima estão com espaços > no > > meio. > > > > []s > > > -- > To UNSUBSCRIBE, email to > [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact > [EMAIL PROTECTED] > ___ Yahoo! Mail O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, filtro contra spam. http://br.mail.yahoo.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]