[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Procurar palavras em certos campos
From: |
Anderson Montenegro dos Santos |
Subject: |
Procurar palavras em certos campos |
Date: |
Mon, 21 Aug 2000 16:02:16 -0300 |
Alguem sabe como procurar uma palavra em um arquivo em determinados
campos . Por exemplo eu quero selecionar as palavras referente a data no
messages somente nos campos que se referem as datas.
tail /var/log/messages | grep `date | cut -c04-19`
From (no email address) Mon Aug 21 12:32:45 2000
Return-Path: <address@hidden>
Received: (qmail 1273 invoked from network); 21 Aug 2000 19:32:45 -0000
Received: from unknown (10.1.10.26) by m2.onelist.org with QMQP; 21 Aug 2000
19:32:45 -0000
Received: from unknown (HELO burns.conectiva) (200.250.58.146) by mta1 with
SMTP; 21 Aug 2000 19:32:43 -0000
Received: (qmail 25181 invoked from network); 21 Aug 2000 19:35:36 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with
SMTP; 21 Aug 2000 19:35:36 -0000
Date: Mon, 21 Aug 2000 16:35:21 -0300 (BRT)
X-Sender: aurelio@verde.distro.conectiva
To: address@hidden
Subject: Re: [shell-script] Procurar palavras em certos campos
In-Reply-To: <000701c00ba2$533eb580$address@hidden>
Message-ID: <Pine.LNX.4.21.0008211625230.1026-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
From: # aurelio marinho jargas <address@hidden>
@ 21/8, Anderson Montenegro dos Santos:
> Alguem sabe como procurar uma palavra em um arquivo em determinados
> campos . Por exemplo eu quero selecionar as palavras referente a data no
> messages somente nos campos que se referem as datas.
>
> tail /var/log/messages | grep `date | cut -c04-19`
se vc quer apenas a palavra, e não a linha inteira, uma
combinação de cut+grep serve (ou apenas um sed)
cut -c1-15 /var/log/messages | grep $DATA
sendo o $DATA a variável que contém a data que vc procura.
ou se vc quer a linha toda, use o grep mesmo. não vai haver
diferença de performance procurar apenas num campo ou na linha
toda, pois o grep sempre vai carregar a linha toda no seu
registrador interno. o que você pode fazer, é, sabendo que a data
que você procura SEMPRE está no começo da linha, usar uma
expressão regular:
grep "^$DATA" /var/log/messages
o circunflexo ^ antes da data indica "começo de linha", aí, além
de ficar bem mais rápido, pois o grep só vai tentar casar o
padrão no começo da linha, você obtém o resultado desejado.
>
> Inscrição: address@hidden
>
> Sair da lista: address@hidden
>
> Banco Dados: http://www.egroups.com/group/shell-script
ADMINISTRADOR DA LISTA:
poderia ser colocado um (hífen-hífen-espaço-quebra_de_linha)
antes do rodapé padrão da lista para que os programas de email
saibam identificá-lo e cortá-lo automaticamente nas respostas,
pra não ficar aquela chuva de instruções de cadastramento quando
a discussão fica grande...
--
s·:(·>(·×^a]×http://www.verde666.org×^[:wq
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Procurar palavras em certos campos,
Anderson Montenegro dos Santos <=