我必须打印从/ 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
请帮忙 谢谢
答案 0 :(得分: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
答案 1 :(得分: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
答案 2 :(得分:0)
您可以使用awk
awk '$0>=from && $0<=to' from="23:00:00" to="00:00:00" /var/log/messages