The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
tail-f wannalearn Programação Shell Script e 4 04-10-2007 06:22
Cauda? qfwfq Programação Shell Script e 7 06-19-2006 02:15
cauda comando .. amon Programação Shell Script e 2 06-02-2006 05:36
Ajuda no script usando cauda JISC Programação Shell Script e 4 05-19-2006 04:15
como sed com cauda redlotus72 UNIX para Dummies Perguntas & Respostas 1 08-30-2005 06:27

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-23-2002
cdunavent cdunavent is offline
Usuário
  
 

Join Date: Sep 2001
Localização: DC
Lugares: 58
Question usando tail-f

Trabalhando em HP-UX 10/20. Eu quero acabar de escrever um script de shell para lidar com o seguinte problema, mas, por enquanto estou apenas brincar com ele na linha de comando.

Veja o que estou tentando fazer basicamente:

tail-f log_X | grep n> log_Y

Estou fazendo um tail-f em log_X. Uma vez que se vê "n", gostaria para que grep, então colocá-la em log_Y. Não é o que torna a log_Y.

Tenho sido manualmente adicionando "n" para log_X, ea cauda comando é definitivamente a ver, mas ela não consegue passá-la para log_Y.

Por quê? Será porque o comando está a tentar "completar" o tail-f antes que executa a> (redirect) para log_Y?

Existe uma maneira melhor para esta abordagem?

TYIA
  #2 (permalink)  
Old 10-23-2002
Vishnu Vishnu is offline
Usuário
  
 

Join Date: Aug 2002
Localização: Marlboro, MA
Lugares: 114
tente usar

tail-f log_X | grep n >> log_Y

Não estou certo de que este seria o trabalho ...

Posso acrescentar que os comandos em ambos os lados de um tubo de "|" são iniciados e executados sincronamente ... e sabemos que qualquer comando como grep irá terminar apenas se vê um EOF, que "tail-f" não vai dar, pois está em um loop infinito à procura de novas linhas de aposta ...

então ...

tail-f log_X | grep n

deve ser trabalhar bem e dar "novas" linhas com "n" para stdout como e quando se anexar a log_x ...

Pode ser um problema com o redirecionamento, para uso redirecionamento no modo append >> e deixe-nos saber!

Felicidades!
Vishnu.
  #3 (permalink)  
Old 10-23-2002
cdunavent cdunavent is offline
Usuário
  
 

Join Date: Sep 2001
Localização: DC
Lugares: 58
Vishnu:

Tentei usando tail-f log_X | grep n>> log_Y ontem ... não funcionou. Também tentei um rabo-f log_X | grep n>! log_Y. Não vá.

A razão pela qual eu estou usando tail-f é porque quero que isto seja uma "real-time monitor". Após "n" aparece, eu preciso de notificá-lo para mim.

Quaisquer outras ideias?

TYIA
  #4 (permalink)  
Old 10-23-2002
Vishnu Vishnu is offline
Usuário
  
 

Join Date: Aug 2002
Localização: Marlboro, MA
Lugares: 114
ver esses lugares .. parece que piping "tail-f" trabalha com alguns SOs e não funciona com alguns ...

http://www.computing.net/solaris/www...orum/1734.html

http://www.zsh.org/mla/users/1999/msg00360.html

você não quer dizer ...

tail-f log_X | grep n

trabalharam em seu sistema .. ou seja, você pode ver as coisas no seu terminal ..

Felicidades!
Vishnu.
  #5 (permalink)  
Old 10-23-2002
Kelam_Magnus's Avatar
Kelam_Magnus Kelam_Magnus is offline Forum Advisor  
Usuário
  
 

Join Date: Aug 2001
Localização: DFW McKinney, TX,
Posts: 1.069
daemon processo dá tempo real

Parece que você seria melhor servido para criar uma daemon para controlar este processo.

Você poderá adaptar-lo para notificá-lo quando a string que você deseja aparece e e-mail ou beep você. Você deve ter um modelo de um em seu sistema ou você pode copiar a partir de uma simples em um semelhante a um directório / sbin / init.d / modelo.

cp modelo myscript

Você irá precisar de adicionar um link no mato e iniciar o seu rc diretórios para se iniciar um arranque tempo.

ln-s myscript / sbin/rc3.d/S400myscript
ln-s myscript / sbin/rc1.d/K400myscript


Hope this helps!
  #6 (permalink)  
Old 10-23-2002
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Join Date: Jul 2001
Localização: Portland, OR, E.U.A.
Posts: 1.584
Tente este:

Código:
(tail -f /var/log/messages & ) | grep -i login

Se deixar correr na cauda backgroundit permite grep trabalho. Como cauda dumps para stdout, grep é aguardar pacientemente, a leitura stdin.

Isso apenas para despejar sua tela até que você bateu algo como CTRL + C. Se você quiser algo mais elaborado, você poderia enviado a cauda de saída para um outro fd, grep e ter lido a partir de que fd.

Boa sorte!
  #7 (permalink)  
Old 10-23-2002
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Join Date: Jul 2001
Localização: Portland, OR, E.U.A.
Posts: 1.584
Oh diabo, por que não - aqui está um pouco melhor design. Executá-la no fundo, e ele vai escrever o usuário acima definidos quando se vê a frase exata (também definidas acima).

Não é a pertiest, e provavelmente não será o mais rápido se os registros cresce muito rapidamente, mas funciona, e é fácil de se modificar a e-mail, página, seja qual for ...
Basta ter o cuidado de que não se inundar-te, se verificar a mesma mensagem centenas de vezes ...


Código:
#! /bin/ksh

search_word="search terms"
write_user=user_id

tail -n1 -f /path/to/log |&
while read -p output_line; do
 [[ $output_line == *"$search_word"* ]] && {
  print "$output_line" | write $write_user
  }
done

Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 06:54.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0