[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Ler linha com espaços no início
From: |
Fredi Bieging |
Subject: |
Re: [shell-script] Re: Ler linha com espaços no início |
Date: |
Sun, 11 Nov 2012 01:20:31 -0200 |
O culpado é o read. Ele ignora os caracteres da variável IFS que estiverem
presentes no início e no final da linha. Veja:
http://wiki.bash-hackers.org/commands/builtin/read
Em 10/11/2012 18:25, "Julio C. Neves" <address@hidden> escreveu:
> Fala Elder,
> p. favor faça um cat -vet dados2.txt. Isso só pode ser algum caractere
> invisível no arquivo. Não tem justificativa.
>
> Botou entre aspas, preservou espaços em branco.
>
> Abcs,
> Julio
>
> *
> *
>
>
>
> Em 9 de novembro de 2012 18:54, Elder Marco <address@hidden>
> escreveu:
>
> > **
> >
> >
> > Olá Júlio,
> >
> > É quase isso. Você apenas se confundiu em relação ao conteúdo do
> > arquivo dados2.txt.
> > Vejamos:
> >
> > 2012/11/9 Julio C. Neves <address@hidden>:
> > > Vamos colocar o que vc disse nas palavras que *eu* entendi:
> > > Quando vc executa o script da forma que te sugeri e que vc já havia
> > testado
> > > (usando "$line") usando o arquivo:
> > > $ cat dados.txt
> > > ** 10 20 30 4
> > > ** 56 70 84 90
> > > 10 20 58
> > > Tudo funcionava as mil maravilhas e os espaços iniciais eram mantidos.
> > Isso mesmo. Se eu utilizar esse arquivo, os espaços iniciais são mantidos
> > sem
> > nenhum problema.
> >
> > > Já se vc usasse o arquivo:
> > > $ cat dados2.txt
> > > *** 4 6 7
> > > *** 8 6 7
> > > *** 9 6 7
> > > Dava zebra e os espaços em branco não eram preservados. OK? Então p.
> > favor
> > > me explique, pq foi aí que não entendi: a quais espaços em branco vc se
> > > refere em dados2.txt?
> > >
> > Então, esse não é o conteúdo do arquivo, mas a saída do script depois
> > de ler as linhas
> > do arquivo dados2.txt O conteúdo do arquivo em si apresenta espaços
> > iniciais da mesma
> > forma que o anterior. Para ficar mais claro como está a formatação
> > desses dois arquivos,
> > coloquei eles num pastebin da vida, bem como o script.
> >
> > Eis:
> >
> > script.sh:
> > - http://paste.stg.fedoraproject.org/1620/
> > * Note o uso das aspas tem "$line"
> >
> > dados.txt:
> > - http://paste.stg.fedoraproject.org/1618/
> > * funciona sem problemas. Os espaços em branco são impressos na tela como
> > deveriam.
> > dados2:txt:
> > - http://paste.stg.fedoraproject.org/1619/
> > * O que dá problema. Os espaços em branco no início da linha
> > não aparecem e
> > não faço ideia do porquê.
> >
> > Em resumo, se eu fizer:
> >
> > $ ./script.sh dados.txt
> >
> > Funciona.
> >
> > $ ./script.sh dados2.txt
> >
> > Não irá funcionar. Todos os espaços a partir do início da linha até o
> > primeira caractere
> > que não é um espaço serão removidos sem dó nem piedade. :)
> >
> > Não sei se essa é uma informação importante, mas fiz isso no fedora 17
> > utilizando
> > o bash 4.2.37.
> >
> > --
> > Elder Marco
> >
> > GNU/Linux User: #471180
> >
> > "Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas
> > fatos', eu digo: 'Ao contrário, fatos é o que não há; há apenas
> > interpretações'. "(Nietzsche)
> >
> >
>
>
> [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
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] Re: Ler linha com espaços no início, (continued)
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/06
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/07
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/07
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/08
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Alysson Gonçalves de Azevedo, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Alysson Gonçalves de Azevedo, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Alysson Gonçalves de Azevedo, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/10
- Re: [shell-script] Re: Ler linha com espaços no início,
Fredi Bieging <=
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/12
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/12
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/13
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/13
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/14
- Re: [shell-script] Re: Ler linha com espaços no início, Enilton Angelim, 2012/11/14
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/15