1. sed -n '/^12:3*/,/^13:3*/p' a.log
这个截取的时间段是12:00到13:00(刚开始我以为这个截取的时间段是12点30到13点30的,因为我把*当成通配符了,q其实在sed 和awk中它是正则表达式)
2.sed -n '/^12:30*/,/^13:30*/p ' a.log
这个截取的时间段是12:30到13:30
比如像awk,sed,等,是针对文件的内容的。都是用正则表达式
而通配符多用在文件名上,比如查找find,ls,cp,等等
*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。
就这个问题让我纠结了好一阵。
转载于:https://blog.51cto.com/ghnhl/1554400
本文详细解析了如何使用SED命令进行特定时间段的日志提取,并对比了正则表达式与通配符的区别,对于理解SED及AWK命令在日志处理中的应用提供了很好的示例。
1万+

被折叠的 条评论
为什么被折叠?



