linux - Grep 文件中的错误并将它们放入新文件但不覆盖新文件

标签 linux bash

尝试为此运行 bash 脚本,因为我想将其放入 cron 并每晚运行以从文件中提取错误并写入同一目录中的文件:

我的脚本只是挂起,什么也拉不出来:

#!/bin/bash
tail -f /var/log/syslog | grep -i "error" > /var/log/syserrorlog.log

当它运行时,我希望它写入/更新同一个文件而不是覆盖它。

最佳答案

> 更改为 >> (后者表示追加)。此外,tail -f 将根据定义挂起:它会监视文件中的新数据。

如果您的系统日志每天轮换,那么您可以简单地使用

#!/bin/bash
cat /var/log/syslog | grep -i "error" >> /var/log/syserrorlog.log

如果没有轮换,你可以在过滤掉相关日期的管道中添加一个grep

关于linux - Grep 文件中的错误并将它们放入新文件但不覆盖新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37885595/

相关文章:

c - Linux编程。如何使用消息队列发送数组?

PHP exec - 检查是否启用或禁用

java - 如何在 Linux 和 Windows 上使用 JOGL 设置 IntelliJIdea 进行开发?

bash - 在设置变量时使用 >/dev/null

linux - 通过在 bash 中列出目录来构造 $PATH

linux - 程序集 - 从 c 调用的 mmap2

c++ - Qt 控制台应用程序的标准配置方法是什么?

bash - Go 和 MongoDB 连接不适用于紧急日志 "no reachable server"

c - 有人会如何在 USB 上安装和编译 gcc C

linux - 尝试在别名定义中通过管道传输多个命令时出现语法错误