[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Leitura de linha X
From: |
jimmy |
Subject: |
Re: [shell-script] Leitura de linha X |
Date: |
Mon, 5 Oct 2009 18:35:05 -0300 |
User-agent: |
Mutt/1.4.2.3i |
On Mon, Oct 05, 2009 at 04:20:00PM -0300, Victor Hugo Leite wrote:
>
>
> Senhores, para realizar a leitura de uma linha X sempre utilizei head +
> tail, exemplo:
>
> Ler linha 48 de um arquivo:
> head -48 arquivo | tail -1
>
> Ler a linha 3 da saida de um comando:
> comando | head -3 | tail -1
>
> Gostaria de saber se existe alguma maneira mais elegante e rápida de
> realizar esta tarefa.
>
> Aguardo retorno e desde já agradeço as respostas que sei que serão
> encaminhadas prontamente.
>
> Att,
> Victor Hugo
>
creio que a única forma de se conseguir algum ganho em relação o head + tail
seria usar o sed da seguinte forma:
$ sed '48!d;q' arquivo
dessa forma o sed lê o arquivo e deleta todas as linhas exceto a linha
desejada, o comando "q" faz o sed abandonar a leitura do arquivo
imprimindo a última linha que ficou no pattern space, ou seja, justamente
a linha 48 do exemplo, isso inclusive pode ser percebido fazendo o
teste:
$ sed '=;48!d;q' arquivo
o comando "=" usado dessa forma irá imprimir o número de todas as linhas
que estão sendo processadas.
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------