gpt4 book ai didi

linux - Linux 终端中运行的命令输出到文本文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:45 26 4
gpt4 key购买 nike

我有一个在 Linux 终端上运行的程序。当它运行时,数据输出到终端窗口,数据每秒都在变化。

窗口示例:

a b c d

d b c a

c a d b

来自机器2的数据 - 时间:15:29:31

11 13 17 18 #改变线路

21 18 17 16 #改变线路

18 17 11 9 #改变线路

我想将窗口中的数据以 10 分钟为间隔记录到 1 个文件中。 Bash 脚本应该是什么,它可以读取窗口的内容,每十分钟解析第 4 行及以下行并将其附加到 1 个文件中?

所需结果示例 - log.txt:

来自机器2的数据 - 时间:15:40:00

58 47 61 34

17 8 3 2

来自机器2的数据 - 时间:15:50:00

5 7 8 12

35 41 70 25

33 41 11 14

来自机器2的数据 - 时间:16:00:00

12 14 15 16

13 18 19 20

24 21 22 23

在我看来,这个任务的第二部分可以这样解决:grep -A 100 “来自机器的数据” ... | tail -n +2 >> log.txt(不知道应该用什么来代替...)但关于第一部分,还不清楚。也许我应该看看 STDOUT 的主题。需要您的帮助。

最佳答案

您的问题有几个部分都可以通过谷歌搜索轻松访问。

第 1 部分...

为了获取文件的第 4 行或第 4000 行或任何行,您可以遵循以下讨论:How can I extract a predetermined range of lines from a text file on Unix?

第 2 部分...

那么就有一个问题是每10分钟做一次?您应该从第 1 部分中获取解决方案(无论您选择做什么)并将其放入 .sh 文件中,并通过 crontab 每 10 分钟运行该脚本,您可以通过

访问该脚本
crontab -e

您可以在这里阅读更多相关信息:https://serverfault.com/questions/248305/running-cron-on-every-10-minutes

编辑第 3 部分以回应您的评论:

使用 screen 将正在运行的进程置于后台,然后打开另一个终端窗口并在其中执行您想要的任何操作。您还可以使用 ssh 连接到同一台计算机并运行另一个终端 session 。您不必只在 1 个屏幕上运行 1 个终端 session ,而无需了解其他任何内容。 Google nohup 或 screen。

关于linux - Linux 终端中运行的命令输出到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29768733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com