![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| tail-f | wannalearn | Programación de scripts de shell y | 4 | 04-10-2007 06:22 PM |
| Cola? | qfwfq | Programación de scripts de shell y | 7 | 06-19-2006 02:15 AM |
| cola de comandos .. | Amon | Programación de scripts de shell y | 2 | 06-02-2006 05:36 AM |
| Ayuda sobre el uso de secuencias de comandos de cola | CSAC | Programación de scripts de shell y | 4 | 05-19-2006 04:15 AM |
| cómo sed con cola | redlotus72 | UNIX for Dummies Preguntas y Respuestas | 1 | 08-30-2005 06:27 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Que trabajan en HP-UX 10.20. He querido escribir un script de shell bourne para tratar el siguiente problema, pero por ahora estoy jugando con él en la línea de comandos.
Esto es lo que estoy tratando de hacer básicamente: tail-f log_X | grep n> log_Y Estoy haciendo un tail-f en log_X. Una vez que ve a "n", me gustaría para que grep, y luego ponerlo en log_Y. No es lo que a log_Y. He estado añadiendo manualmente "n" a log_X, y la cola de comandos es verlo, pero no para pasar a log_Y. ¿Por qué? ¿Es porque el comando está tratando de "completo" en el tail-f antes de ejecutar el> (redirect) para log_Y? ¿Hay una mejor manera de appraoch esto? TYIA |
|
||||
|
tratar de usar
tail-f log_X | grep n >> log_Y No estoy seguro de que este trabajo ... Puedo añadir que los comandos de cada lado de la tubería "|" se inician y ejecutan sincrónicamente ... y sabemos que cualquier comando grep como terminará sólo si lo considera una EF, que "tail-f" no dará como en un bucle infinito, en busca de nuevas líneas adjunta ... así que ... tail-f log_X | grep n deberían estar trabajando bien y que las "nuevas" líneas de tener "n" a la salida a medida que añadir a log_x ... Puede ser un problema con la redirección, por lo que utilizar la redirección en modo append >> y háganos saber! ¡Salud!! Vishnu. |
|
||||
|
Vishnu:
He intentado usar tail-f log_X | grep n>> log_Y ayer ... no funcionó. También intentó un tail-f log_X | grep n>! log_Y. No ir. La razón por la que estoy usando tail-f es porque quiero que se trata de un "seguimiento en tiempo real". Una vez que "n" aparece, lo necesito para notificarme. Cualquier otra idea? TYIA |
|
||||
|
ver estos puestos .. parece que las tuberías "tail-f" funciona con algunos sistemas operativos y no funciona con algunos ...
http://www.computing.net/solaris/www...orum/1734.html http://www.zsh.org/mla/users/1999/msg00360.html usted no saber si ... tail-f log_X | grep n trabajado en el sistema .. es decir, puede ver las cosas en su terminal .. ¡Salud!! Vishnu. |
|
|||||
|
Pruebe esto: Código:
(tail -f /var/log/messages & ) | grep -i login Si deja que se ejecutan en la cola permite backgroundit grep trabajo. Como vertederos de cola a stdout, grep es esperar pacientemente, la lectura stdin. Esto acaba de volcar a la pantalla hasta llegar a algo como Ctrl + C. Si quieres algo más elaborado, puede enviarse a la cola de salida de un fd, y han de leerse en grep que fd. Buena suerte! |
|
|||||
|
Oh diablos, ¿por qué no - aquí tiene un diseño mejorado ligeramente. Ejecutarlo en segundo plano, y se escribe encima de la definida por el usuario cuando ve la frase exacta (también se ha definido anteriormente). No es el pertiest, y probablemente no la más rápida si los registros crece muy rápido, pero funciona, y es fácil de modificar para correo electrónico, página, lo que sea ... Ten cuidado que no te de inundación en caso de descubrir el mismo mensaje cientos de veces ... 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
|
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|