Linux grep选择行
我想从日志文件中选择最近7天的记录,并包含“确定登录” 我正在使用这个命令,但它不起作用,如果我想date=[当前日期-7天]如何编写Linux grep选择行,linux,grep,Linux,Grep,我想从日志文件中选择最近7天的记录,并包含“确定登录” 我正在使用这个命令,但它不起作用,如果我想date=[当前日期-7天]如何编写 cat vsftp.log | grep 'OK LOGIN' |egrep "Sep [1-6]" 你可以: 每天至少应有一次登录。正则表达式是允许的,可能存在误报。缺少空格: grep 'OK LOGIN' vsftp.log | egrep "Sep [1-6]" 投票在这里结束并移动-不是编程question@Adrian:问题可能质量不高:标
cat vsftp.log | grep 'OK LOGIN' |egrep "Sep [1-6]"
你可以:
每天至少应有一次登录。正则表达式是允许的,可能存在误报。缺少空格:
grep 'OK LOGIN' vsftp.log | egrep "Sep [1-6]"
投票在这里结束并移动-不是编程question@Adrian:问题可能质量不高:标题和错误描述“不起作用”不是很具体。但是OP显示了一些努力(提供了中断的最小示例)。这个问题是切实可行的。您完全可以在
bash
中编程。如何在没有编程的情况下获得[当前日期-7天]
正则表达式?您可以修复它,但它不是一个通用的解决方案。鉴于上述信息,为什么该问题应作为非主题关闭?我可以理解,如果不进行编辑,它可能会因为质量低而被删除。7天包括8月30日
<代码>“当前日期”并不总是9月6日
#!/bin/bash
function md()
{
date +'%b %e' --date "$@"
}
start=`md 'last week'`
end=`md 'now'`
grep 'OK LOGIN' | sed -n "/$start/,/$end/p"
grep 'OK LOGIN' vsftp.log | egrep "Sep [1-6]"