我必须打印 /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
请帮忙谢谢
我必须打印 /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
请帮忙谢谢
因为 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
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
你可以试试这个awk
awk '$0>=from && $0<=to' from="23:00:00" to="00:00:00" /var/log/messages