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: Julio C. Neves
Subject: Re: [shell-script] Re: Ler linha com espaços no início
Date: Fri, 9 Nov 2012 13:30:25 -0200

O Elder, me desculpe mas devo estar sendo acometido de um acesso de burrice
instantânea, pois sei que vc não é um newbie em shell e não estou
conseguindo captar o que vc quer dizer.

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. 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?





Abcs,
Julio

*
*



Em 8 de novembro de 2012 21:54, Elder Marco <address@hidden> escreveu:

> **
>
>
> 2012/11/8 Julio C. Neves <address@hidden>
> >
> > Vc não deixou o último diálogo da thread e por isso não sei a qual das
> > respostas que dei à lista vc está se referindo.
> >
>
> Olá Júlio, desculpe. Vou repetir novamente abaixo. Mas antes, o meu
> script já usava aspas, conforme
> você sugeriu. Enquanto eu criava um arquivo de dados como exemplo, eu
> obtive exatamente o comportamento
> esperado, os espaços no início da linha. No entanto, o mesmo não
> acontece com um outro arquivo e eu não
> consegui perceber o porquê. Apresento abaixo o script e os arquivos.
>
> Eis o script de exemplo:
>
> $ cat script.sh
> while read line; do
> echo "$line"
> done < "$1"
>
> $
>
> Os arquivos de exemplo que tenho são:
>
> $ cat dados.txt
>     **    10  20 30 4
>     **   56  70 84 90
>           10  20  58
> $
>
> e
>
> $ cat dados2.txt
> *** 4 6 7
> *** 8 6 7
> *** 9 6 7
> $
>
> Rodando o script com esses dois arquivo, obtenho:
>
> $ ./script.sh dados.txt
>     **    10  20 30 4
>     **   56  70 84 90
>           10  20  58
> $
>
> Mas se eu rodar com o arquivo dado2.txt, eu tenho
> $ ./script.sh dados2.txt
> *** 4 6 7
> *** 8 6 7
> *** 9 6 7
> $
>
> Ou seja, no último caso, os espaços em branco são removidos. Eu não
> consegui perceber qual é a diferença entre um
> arquivo e outro, de forma num deles os espaços são removidos e no
> outro não. No meu arquivo original, com vários
> dados, é esse segundo comportamento que prevalece e daí necessitei
> alterar o valor de IFS.
>
> ---
> 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]



reply via email to

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