Этот фрагмент будет работать:
tail -F $LOGFILE 2>&1 | sed -e "$(echo -e "s/^\(tail: .\+: file truncated\)$/\1\e[2J/")"
Использование tail -F
для отслеживания файла, который может еще не существовать, и он работает через усечения, следующим образом:
tail: cannot open `mylog.log' for reading: No such file or directory tail: `mylog.log' has appeared; following end of new file run1 run1 run1 tail: mylog.log: file truncated run2 run2 run2
Я только хочу увидеть вывод текущего прогона, так как на экране помещается несколько прогонов, и трудно сказать, где один останавливается и начинается следующий. Перед выполнением пробега я использую
rm mylog.log; clear && tail -F mylog.log
Но я должен помнить, чтобы делать это перед каждым пробегом. Я понимаю, что если tail
очистить экран, когда произойдет усечение, это даст мне именно то поведение, которое я хочу, не требуя от меня никакого взаимодействия.
tail
Страница человек, казалось, не указывают на это было возможно. Я уверен, что не могу быть первым, кто желает такого поведения, кто-нибудь еще использовал другие средства для его достижения?
Этот фрагмент будет работать:
tail -F $LOGFILE 2>&1 | sed -e "$(echo -e "s/^\(tail: .\+: file truncated\)$/\1\e[2J/")"