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

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

Re: [shell-script] grep ou sed


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] grep ou sed
Date: Mon, 7 Mar 2005 17:43:38 -0300 (BRT)

lferreir1, @ 14:54:
[...]
> Eu preciso filtrar algumas linhas deste arquivo de log, na sequência.
>
> Ex.
> #cat arq.log
> 0 inicio
> 1 aaaaaa
> 2 bbbbbb
> 3 cccccc
> 4 dddddd
> 5 termino
>
> Preciso:
> 0 inicio
> 2 bbbbbb
> 4 dddddd
> 5 termino
>
> Obs.: Nos arquivos de log o tamanho das linhas são variáveis.

Olá Luiz,

Não entendi bem o padrão que você deseja. Pelo que parece você quer
todas as linhas ímpares (começa em UM), e a última. É isso? Se não,
explica de novo pra gente.

Caso o arquivo tiver número de linhas par, esse sed vai te dar as
linhas pares do arquivo:
$ sed -n '1~2p' arq.log

Caso for ímpar, esse outro vai dar as linhas pares, e a última linha:
$ sed -n '1~2p;$p' arq.log

Você pode checar se é par ou ímpar antes, com o wc:

#!/bin/bash
if wc -l < arq.log | grep -q "[02468]$"; then
     sed -n '1~2p' arq.log
else
     sed -n '1~2p;$p' arq.log
fi

-- 
Eliphas

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



reply via email to

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