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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Imprimindo linhas enumeradas


From: Flavio Junior
Subject: Re: [shell-script] Imprimindo linhas enumeradas
Date: Fri, 15 Aug 2008 10:20:10 -0300

um simples "nl arquivo.txt" já resolve.

--

Flávio do Carmo Júnior aka waKKu

2008/8/15 Raul Libório <address@hidden>:
> Não sei se entendi bem mas um 'cat arquivo.txt | nl ' consegue
> enumerar as linhas.
> --
>
> Raul Libório
> UniJorge Redes - www.redesfja.com
> rauhmarutsªhotmailºcom
> Linux user#4444581
> [(55) 71] 9246 9828
>
> Dúvidas: enviar para /dev/null
> Respondei assim que possível.
>
> 2008/8/15 Guilherme Gall <address@hidden>:
>
>> Segue uma possibilidade:
>>
>> $ cat exemplo.txt
>>
>> asterion 9058 2.3 2.3 31820 12060 ? Sl 19:10 0:00 smplayer
>> asterion 9062 3.0 2.3 31840 12052 ? Sl 19:10 0:00 smplayer
>>
>> $ while read LINHA; do echo "$((++i)) $LINHA"; done < exemplo.txt
>> 1 asterion 9058 2.3 2.3 31820 12060 ? Sl 19:10 0:00 smplayer
>> 2 asterion 9062 3.0 2.3 31840 12052 ? Sl 19:10 0:00 smplayer
>>
>> A variável i assumiu o valor zero automaticamente porque eu não defini
>> um valor para ela. Usei pré-incremento (++i) e não pós-incremento
>> (i++) como você fez, para que a numeração começasse do um e não do
>> zero.
>>
>> Saudações,
>>
>> Guilherme Magalhães Gall
>>
>> 2008/8/14 Leonardo Bernardes <address@hidden>:
>>> ## Envio novamente pois, pelo costume, não enviei o email em plain
>>> text e imagino que ele não chegará até o grupo
>>>
>>> Boa noite, amigos
>>>
>>> Tenho uma dúvida, talvez até simples, vou ilustrá-la com um exemplo.
>>> Se eu tenho os seguintes dados de saída:
>>>
>>> $ ps aux |grep smplayer
>>> asterion 9058 2.3 2.3 31820 12060 ? Sl 19:10 0:00 smplayer
>>> asterion 9062 3.0 2.3 31840 12052 ? Sl 19:10 0:00 smplayer
>>> $ ps aux |grep smplayer > guardar.txt
>>>
>>> Os dados contidos nesse arquivo guardar.txt, se eu quiser imprimi-los
>>> na tela, enumerando cada uma das linhas, qual é a melhor opção? Mas
>>> vejam, eu não quero algo como cat -n, gostaria de poder manipular a
>>> forma como os números são exibidos. Eu descobri uma forma, mas
>>> considero ela uma tanto complexa, vejam:
>>>
>>> ct=1
>>> mat=$(cat guardar.txt |wc -l)
>>> while [ $ct -le $mat ]; do
>>> echo -e "($ct): $(cat guardar.txt |awk 'NR == '$ct' { print $0 }')"
>>> ((ct++))
>>> done
>>>
>>> Eu queria aprender a fazer via "for", aí entra outra dúvida, se eu uso
>>> algo como:
>>>
>>> for linha in $(cat guardar.txt) # ele retorna cada termo como um
>>> parâmetros posicional "asterion" "9058" ... e assim por diante
>>> se eu uso assim:
>>> for linha in "$(cat guardar.txt)" # ele retornar o bloco inteiro como
>>> um único parâmetro e também não adianta
>>>
>>> O "for" serve pra fazer isso que eu quero? é possível fazê-lo imprimir
>>> uma linha de cada vez? Qual é a maneira mais simples de fazer isso?
>>>
>>> Desde já agradeço
>>>
>>>
>>> Leonardo Bernardes
>>> Usuário Linux # 444329
>>> brausen.blogspot.com
>>>
>>> ------------------------------------
>>>
>>> ----------------------------------------------------------
>>> 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
>>>
>>>
>>>
>>
> 


reply via email to

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