Como o Flavio disse, deu certo nos testes de vocês por que o echo, por padrão, 
adiciona no final do texto que escreverá um "newline". se tentar com o "-n" não 
vai.!!!

--- Em ter, 11/8/09, Flavio Junior <[email protected]> escreveu:

De: Flavio Junior <[email protected]>
Assunto: Re: [shell-script] wc -l conta errado [off-topic]
Para: [email protected]
Data: Terça-feira, 11 de Agosto de 2009, 15:24






 




    
                  [r...@cerebro ~]# echo -en 'a\nb\nc' | wc -l

2

[r...@cerebro ~]# echo -en 'a\nb\nc'

a

b

c[r...@cerebro ~]# echo -e 'a\nb\nc'

a

b

c

[r...@cerebro ~]#



O caso é que o echo, por padrão, já adiciona um \n no fim de linha... o

-n evita isso.



--



Flávio do Carmo Júnior aka waKKu



2009/8/11 Elder Marco <elderma...@gmail. com>:

>

>

>>

>> Olá a todos!!

>>

>> A alguns dias atrás mandei um e-mail sobre sobre um programa em shell

>> que contava as linhas realmente utilizadas de códigos fontes de várias

>> linguagens.

>> Depois eu levantei uma questão. que ficou sem resolução: a de que o wc

>> contaria as linhas de forma errada.

>> Pois bem como especificada na própria man-page do wc ele não conta

>> linhas, e sim newlines (\n).

>>

>> ou seja, se o exmplo abaixo for mandado para o wc -l:

>>

>> 1 a \n

>> 2 b \n

>> 3 c

>>

>> ele retornará que 2 e não três. para retornar um valor "mais correto",

>> você precisa inserir um newline no fim da última linha:

>>

>> 1 a \n

>> 2 b \n

>> 3 c \n

>> 4

>>

>> ou usar nl (leia a man-page do nl)

>>

>> Bom eu não sabia disso...

>>

>> Um grande abraço a t...@s

>>

>

> Testei aqui no Fedora 11 e também não tive problemas. Ele contou 3

> linhas em vez de duas. :-)

>

> 


 

      

    
    
        
         
        
        








        


        
        


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a