命令输出到文件,顶部有新行

命令输出到文件,顶部有新行

我正在重写一些 20 多年前的 Unix 脚本,我想将输出输出到屏幕和文件中。我知道这可以通过 来实现tee。是否有类似的命令可以在文件开头将新行堆叠在顶部?我希望文件按时间倒序输出。

脚本输出将重定向到 WWW 文件夹。为了远程查看输出,我想在浏览器中按 F5 并在浏览器窗口顶部显示新行。我将cp log log_$(date '+%Y%m%d') && cp /dev/null log每天回收文件 () 以防止它变得太大。

我希望能有像 那样的tee免费实用程序,但遗憾的是没有运气。cattac

答案1

打印到 STDOUT在日志文件开头插入换行符,每次您都必须完全重写它,这可能会非常耗费内存。

这是一个 perl 命令,可以完成您需要的操作:

oldscript.sh | perl -ne '$log=$_.`cat my_log.txt`; open(F, ">", "my_log.txt"); print F $log; print'

my_log.txt只需根据您的需要改变路径即可。

相关内容