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

[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]



reply via email to

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