相关疑难解决方法(0)

监视文件直到找到字符串

我正在使用 tail -f 来监视正在积极写入的日志文件。当某个字符串被写入日志文件时,我想退出监控,并继续我的脚本的其余部分。

目前我正在使用:

tail -f logfile.log | grep -m 1 "Server Started"
Run Code Online (Sandbox Code Playgroud)

找到字符串后,grep 按预期退出,但我需要找到一种方法使 tail 命令也退出,以便脚本可以继续。

bash grep tail logfiles

70
推荐指数
7
解决办法
12万
查看次数

在从 shell 脚本输出给定的行后杀死程序

背景:

我正在为一个计算生物学软件编写一个测试脚本。我正在测试的软件可能需要数天甚至数周才能运行,因此它具有内置的恢复功能,以防系统崩溃或电源故障。

我想弄清楚如何测试恢复系统。具体来说,我想不出一种以受控方式“崩溃”程序的方法。我正在考虑以某种方式在一段时间后对 SIGKILL 指令进行计时。这可能并不理想,因为不能保证测试用例每次都以相同的速度运行(它在共享环境中运行),因此将日志与所需的输出进行比较会很困难。

该软件确实为它完成的每个分析部分打印一行。

题:

我想知道是否有一种好的/优雅的方式(在 shell 脚本中)来捕获程序的输出,然后在程序输出给定的行/行数时终止程序?

linux shell

18
推荐指数
3
解决办法
1万
查看次数

标签 统计

bash ×1

grep ×1

linux ×1

logfiles ×1

shell ×1

tail ×1