开始我用grep命令直接过滤今天的日期,发现信息不全,原来grep是通过对每一行进行扫描,有这个指定过滤字符的就过滤出来,它才不会管你中间是不是有其他的信息,所以用sed会更合适点,可以过滤出从指定的开始字符所在行到指定的结束字符所在行中间所有的内容。具体操作如下:
sed -n "/2020-03-24 00:00:00/,/2020-03-24 17:30:00./p" nginx-out.log > nginx-out.log.20200324
开始我用grep命令直接过滤今天的日期,发现信息不全,原来grep是通过对每一行进行扫描,有这个指定过滤字符的就过滤出来,它才不会管你中间是不是有其他的信息,所以用sed会更合适点,可以过滤出从指定的开始字符所在行到指定的结束字符所在行中间所有的内容。具体操作如下:
sed -n "/2020-03-24 00:00:00/,/2020-03-24 17:30:00./p" nginx-out.log > nginx-out.log.20200324