Hvis du oplever, at real-time output fra kommandoen tail -f log.txt | egrep 'WARN|ERROR'
ikke bliver tilføjet til en ny fil ved hjælp af tee filtered_output.txt
, kan det skyldes flere faktorer. Her er nogle mulige årsager og løsninger:
egrep
og tee
kan buffer output, hvilket betyder, at data ikke bliver skrevet til filen i real-time.filtered_output.txt
.stdbuf
: Du kan bruge stdbuf
til at deaktivere buffering. Prøv følgende kommando:
tail -f log.txt | stdbuf -oL egrep 'WARN|ERROR' | stdbuf -oL tee filtered_output.txt
unbuffer
: En anden mulighed er at bruge unbuffer
fra expect
-pakken:
unbuffer tail -f log.txt | egrep 'WARN|ERROR' | tee filtered_output.txt
filtered_output.txt
. Du kan ændre rettighederne med:
chmod +w filtered_output.txt
Ved at følge disse forslag bør du kunne løse problemet med at få real-time output tilføjet til en ny fil.
Har du brug for hjælp til fejlfinding af logfiler? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Gør fejlfindingen lettere og få professionel assistance, når du har brug for det!