На этот вопрос уже есть ответ:
Я переписываю сценарии Unix более чем 20-летней давности и хочу, чтобы вывод выводился на экран и в файл. Я знаю, что это возможно с тройником
. Есть ли похожая команда, которая помещает новые строки в начало файла? Я бы хотел, чтобы файл выводился в обратном хронологическом порядке.
Выходные данные скрипта будут перенаправлены в папку WWW. Для удаленного просмотра вывода я хочу нажать F5 в браузере и иметь новые строки в верхней части окна браузера.
Я переработаю файл ( cp log log _ $ (date '+% Y % m% d ') && cp / dev / null log
) каждый день, чтобы он не стал слишком большим.
Я надеялся, что у tee
есть дополнительная утилита, такая как cat
с tac
, но, увы, не повезло.
Чтобы распечатать к STDOUT и вставить новые строки в начале Вашего файла журнала, необходимо будет переписать его полностью каждый раз, который мог быть действительно потреблением памяти.
Это - команда жемчуга, которая должна сделать то, в чем Вы нуждаетесь хотя:
oldscript.sh | perl -ne '$log=$_.`cat my_log.txt`; open(F, ">", "my_log.txt"); print F $log; print'
Выступы изменяют путь к my_log.txt
для Ваших потребностей.