bash – 从控制台输出抓取最后n行

前端之家收集整理的这篇文章主要介绍了bash – 从控制台输出抓取最后n行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想制作一个shell脚本,它将有效地从输出到控制台的sterr和stin中获取最后的n行。我有一个屏幕会话运行一个进程,如果它通过一个奇怪的无限循环崩溃将重新启动:
#!/bin/bash
#This script will be started in a screen session
counter=0
while [ $counter -lt 10 ]; do
    ./run_some_process;
     last_output=#GRAB PREVIoUS OUTPUT FROM CONSOLE HERE AND LOG TO FILE
     echo -e "$last_output" >> mylog.txt;
    sleep 5; #sleep for a few seconds before restarting
done

我需要的是第七行代码从stderr和stdin中获取最后10行,并将它们附加到日志文件

./run_some_process 2>&1 | tail -10 >>logfle

尾部-10将给你最后十行,2>&1重定向stdout到stderr,>>> logfle追加到日志文件

原文链接:/bash/387617.html

猜你在找的Bash相关文章