![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| tail-f | wannalearn | Shell-programmering och Skript | 4 | 04-10-2007 06:22 |
| Tail? | qfwfq | Shell-programmering och Skript | 7 | 06-19-2006 02:15 |
| svans kommando .. | amon | Shell-programmering och Skript | 2 | 06-02-2006 05:36 |
| Hjälp på scripting använder svans | jisc | Shell-programmering och Skript | 4 | 05-19-2006 04:15 |
| hur sed med svans | redlotus72 | UNIX for Dummies Frågor & Svar | 1 | 08-30-2005 06:27 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Arbeta i HP-UX 10.20. Jag vill så småningom skriva ett Bourne shell script för att hantera följande problem, men nu är jag bara lekt med det på kommandoraden.
Här är vad jag i grunden är försöker göra: tail-f log_X | grep n> log_Y Jag gör en tail-f på log_X. När man ser "n", vill jag för att den grep den och sedan sätta den i log_Y. Det är inte gör det till log_Y. Jag har manuellt lägga till "n" till log_X, och svansen kommandot är definitivt se det, men inte klarar det till log_Y. Varför? Beror det på kommandot försöker "komplett" the tail-f innan den exekverar> (redirect) till log_Y?? Finns det något bättre sätt att appraoch detta? TYIA |
|
||||
|
prova att använda
tail-f log_X | grep n >> log_Y Jag är inte säker på att det skulle fungera ... Jag kan tillägga att kommandon på ömse sidor av en pipa "| är" startas och avrättades synkront ... och vi vet att varje kommando som grep avslutar bara om den ser en EOF som "tail-f" kommer inte att ge eftersom det ligger i en oändlig loop söker nya bifogas rader ... så ... tail-f log_X | grep n ska fungera bra och ge "nya" linjer med "n" till terminalen och när de lägga till log_x ... Det kan vara ett problem med omdirigering, så använd omdirigering i append mode >> och låt oss veta! Skål! Vishnu. |
|
||||
|
Vishnu:
Jag försökte använda tail-f log_X | grep n>> log_Y igår ... det fungerade inte. Jag försökte även en tail-f log_X | grep n>! log_Y. No go. Anledningen till att jag använder tail-f är att jag vill att detta skall vara en "real-time-skärm". När "n" visas, jag behöver det för att anmäla mig. Några andra idéer? TYIA |
|
||||
|
se dessa inlägg .. Det verkar som rör "tail-f" fungerar med vissa operativsystem och fungerar inte med några ...
http://www.computing.net/solaris/www...orum/1734.html http://www.zsh.org/mla/users/1999/msg00360.html Du berättade inte om ... tail-f log_X | grep n arbetat på datorn .. dvs kan du se saker på din terminal .. Skål! Vishnu. |
|
|||||
|
Prova detta:
Kod:
(tail -f /var/log/messages & ) | grep -i login Detta kommer bara dumpa ut till skärmen tills du får in något i stil med CTRL + C. Om du vill ha något mer bearbetad, kan du skickade svans produktion till en annan fd, och har grep läsas från den fd. Lycka till! |
|
|||||
|
Åh fan, varför inte - här är en något förbättrad design. Kör det i bakgrunden, och det kommer att skriva användaren definieras ovan när den ser exakt fras (även definitionen ovan).
Det är inte pertiest, och troligen inte den snabbaste om stockarna växer mycket snabbt, men det fungerar, och det är lätt att ändra till post, sida, oavsett ... Var försiktig att det inte översvämning dig om den finner samma budskap hundratals gånger ... Kod:
#! /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
|