AIX Shell 函数来跟踪特定字符串或特定时间的日志文件

AIX Shell function to tail a log file for a specific string or for a specific time

我正在寻找一种在我们的 AIX v7 平台上完成此任务的方法。我没有很强的 unix(AIX) 背景,但正在尝试编写 bash 脚本来执行重复功能。

非常简单,我希望 bash 脚本等到某个字符串出现在日志末尾。该字符串可能已经存在于其他地方的日志中。

我已阅读对类似问题的回复,答案使用的选项在我们的系统上不可用。以下是我找到的回复: 1) 使用读取(-t 选项在我们的 AIX 版本中不可用) Shell function to tail a log file for a specific string for a specific time

2) 使用 pstree(未安装 pstree) Unix to tail solution for waiting for a specific string or quitting after a timeout

3)使用timeout(timeout未安装) Run tail -f for a specific time in bash script

4) 使用 tail --pid(--pid 选项不可用)

你可以试试

tail -f -n0 "$yourfile" | grep -ql "yourstring"

在我的 Linux 上,这(几乎)按预期工作。 tail -f -n0 生成添加到文件中的所有行,grep -ql 在其输入中静静地查找 "yourstring" 的单个匹配项,然后退出。