1

我必须打印 /var/log/messages 中在晚上 11 点到午夜 12 点之间生成的所有行。我用了这段代码

sed -n -e '/23:00:00/,/00:00:00/p' /var/log/messages

但是没有显示输出。我尝试了另一个时间间隔。它只有在给出消息文件中的准确时间时才有效。

例如:sed -n -e '/23:50:01/,/23:59:09/p' /var/log/messages

请帮忙谢谢

4

3 回答 3

1

因为 23:00:00 没有显示在 /var/log/message 中。

你可以试试这个:

sed -n -e '/23:[0-6][0-9]:[0-6][0-9]/, /00:[0-6][0-9]:[0-6][0-9]/p' /var/log/messages

于 2013-10-14T04:27:12.640 回答
0
sed -n -r -e '/ (00:00:00|23:[0-6][0-9]:[0-6][0-9]) /p' /var/log/messages

如果您不需要 00:00:00 的消息,则只需使用

sed -n -e '/ 23:[0-6][0-9]:[0-6][0-9] /p' /var/log/messages
于 2013-10-14T04:46:00.120 回答
0

你可以试试这个awk

awk '$0>=from && $0<=to' from="23:00:00" to="00:00:00" /var/log/messages
于 2013-10-14T05:14:18.043 回答