curl 日志分析

curl 日志分析

1. 原样保存日志

1. 下载文件

curl -k -O 'https://xxx.tgz'  2>&1 | tee curl.log

命令解析

-k 		:允许连接到没有证书(H)的SSL站点
-O 		: 使用远程文件的文件名作为本地文件名
2>&1 	:将标准错误重定向到标准输出
tee 	: 从标准输入读取并写入标准输出和文件

2. 分析日志文件

tail curl.log | tr "\r" "\n"
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  3 8674k    3  301k    0     0   286k      0  0:00:30  0:00:01  0:00:29  287k
 15 8674k   15 1386k    0     0   690k      0  0:00:12  0:00:02  0:00:10  691k
 30 8674k   30 2650k    0     0   880k      0  0:00:09  0:00:03  0:00:06  882k
 44 8674k   44 3834k    0     0   958k      0  0:00:09  0:00:04  0:00:05  958k
 59 8674k   59 5135k    0     0  1022k      0  0:00:08  0:00:05  0:00:03 1022k
 73 8674k   73 6337k    0     0  1055k      0  0:00:08  0:00:06  0:00:02 1218k
 88 8674k   88 7652k    0     0  1090k      0  0:00:07  0:00:07 --:--:-- 1251k
100 8674k  100 8674k    0     0  1124k      0  0:00:07  0:00:07 --:--:-- 1281k

提取日志的最后一行

tail curl.log | tr "\r" "\n" | tail -n 1

删除重复的空格

tail curl.log | tr "\r" "\n" | tail -n 1 | tr -s " "

提取某一列

# 提取日志的第一列,获取下载的百分比
tail curl.log | tr "\r" "\n" | tail -n 1 | tr -s " " | cut -d " " -f 1

2. 将传输进度显示为进度条

1. 下载文件

curl -# -k -O 'https://xxx.tgz'  2>&1 | tr "\r" "\n" | tee curl.log  

命令解析

-# 				: 将传输进度显示为进度条
-k 				:允许连接到没有证书(H)的SSL站点
-O 				: 使用远程文件的文件名作为本地文件名
2>&1 			:将标准错误重定向到标准输出
tr "\r" "\n" 	: 将文本中的"\r"替换为"\n"
tee 			: 从标准输入读取并写入标准输出和文件

2. 分析日志文件

                                                                           0.0%
                                                                           1.4%
#                                                                          1.6%
##                                                                         2.9%
###                                                                        4.2%
#####                                                                      7.9%
####################                                                      28.8%
###########################                                               37.5%
#####################################                                     52.4%
############################################                              61.7%
##########################################################                80.6%
######################################################################    98.3%
######################################################################## 100.0%

获取下载进度

tail curl.log -n 1 | tr -s " " | cut -d " " -f 2

你可能感兴趣的:(shell)