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: Elder Marco
Subject: Re: [shell-script] Re: Ler linha com espaços no início
Date: Fri, 9 Nov 2012 18:54:46 -0200

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)


reply via email to

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