我有一个access_log,大小接近2GB。我想分析从2015:09:55
到2015:09:57
,但是这期间,有500多条。所以我只想在我的电脑中输出和下载access_log2015:09:55
并2015:09:57
在我的EmEditor中打开它。
我不擅长 SSH commond。我试过这个不起作用
[root@server ~]# cat /var/log/httpd/access_log | (grep "2015:09:55"||grep "2015:09:56||grep "2015:09:57") > /home/usr/log_access.txt
答案1
您可以使用正则表达式指定一个范围作为 sed 的分隔符。
例如,包含 2015:09:56 和 2015:09:6(something) 之间任何内容的所有条目:
ssh host "sed -n '/2015:09:5[6-9]/,/2015:09:6/ p' /var/log/httpd/access_log"
要捕获本地文件中的输出,请使用重定向,即:
ssh host "sed -n '/2015:09:5[6-9]/,/2015:09:6/ p' /var/log/httpd/access_log" >log_snippet