首页 > 解决方案 > Bash 脚本 - 尾部到文件

问题描述

我在 bash 脚本文件 watcher.sh 中有以下内容。

grep ERROR $ExampleLogFile > $ErrorLogFile

当我运行它时,它将成功包含的行从 ExampleLogFile 复制到 ErrorLogFile ERROR

我需要这样做,以便它持续监视 ExampleLogFile 的更改并将其写入 ErrorLogFile。

我正在考虑执行以下操作,但这不起作用:

tail -f grep ERROR $ExampleLogFile > $ErrorLogFile

它确实写了一些行,但不是包含ERROR.

tail: grep: No such file or directory
tail: ERROR: No such file or directory

请有任何建议。

标签: bash

解决方案


您可以tee在此处使用命令。

tail -f $ExampleLogFile | grep --line-buffered  ERROR | tee $ErrorLogFile

它将同时存储和打印到标准输出。

在此处输入图像描述


推荐阅读