我想在linux机器上运行查询。我想检查一个日志文件,并且只在最近15分钟内检查。假设日志文件有更改和添加。什么是正确的查询?
grep'测试条件' /home/somelogpath/file.log -mtime 15
感谢。
答案 0 :(得分:0)
仅检查过去一小时内修改过的文件:
find /path/to/logfiles -mtime -1 -print
所以你可以
find /path/to/logfiles -mtime -1 -print | xargs grep "some condition" /dev/null
(注意:我添加一个文件(/ dev / null),以便grep总是至少有2个文件,因此将强制显示匹配文件的名称..因为它是/ dev / null ,它不会匹配你grep的任何东西,所以你没有在grep的输出中看到“/ dev / null”的风险。但是它有用它的目的:grep将为文件名前缀任何匹配,即使只是1个文件匹配)
分钟等,请检查您的:
man find
(这取决于你的操作系统等)(我现在手头没有linux)
如果你的意思是“只匹配日志文件中的最后X秒”:使用awk,并在行上有条件(它取决于日志文件格式..如果它使用“启动后的秒数”或“纪元” ,你可以简单地测试相关字段是> =某个值。如果它使用“2014-05-15 hh:mm”你也可以找到方法去做,但它会很麻烦..)