gpt4 book ai didi

linux - 多个站点的 DIG 查询时间平均速度

转载 作者:太空宇宙 更新时间:2023-11-04 11:59:45 24 4
gpt4 key购买 nike

我正在编写我的第一个脚本。我想使用 dig 从 .txt 文件中获取多个站点的查询时间并打​​印平均值。 Here's the source ,我不知道如何只打印没有文本的查询时间。谢谢!

#!/bin/bash

# Colors
default='\033[0m' # Default
red='\033[0;31m' # Red
green='\033[0;32m' # Green
blue='\033[0;34m' # Blue
cyan='\033[0;36m' # Cyan

# Vars / const
options='+nocomments +stats'
sites="$(cat sites.txt)"

# User input
echo -ne "${blue}Please enter DNS server: $default"
read dns

echo -e "${green}Welcome to main menu!"
echo -ne "${green}(0) ${default}- Default list / ${green}(1)${default} Custom / ${green}(3)${default} - Install dependencies ${default}: "
read choose


# Conditions for $choose

if [ "$choose" == "0" ]; then
echo -e "${cyan}"
/usr/bin/dig @$dns ${options} ${sites}
echo -e "${default}"

elif [ "$choose" == "1" ]; then
echo -ne "${blue}Please write the sites here. ${default}Example: ${blue}( google.com instagram.com ) : ${default}"
read custom_list
echo -e "${cyan}"
/usr/bin/dig @$dns ${options} $custom_list
echo -e "${default}"

elif [ "$choose" == "3" ]; then
apt-get install -y dnsutils



else
echo -e "${blue}Please choose ${default}(0) ${blue}or ${default}(1)"
fi

最佳答案

您可以通过管道将 dig 传递给 awk 来计算平均值:

/usr/bin/dig @$dns ${options} $custom_list | 
awk '/Query time/ { total += $4; count++ }
END {print "Average:", total/count, "ms" }'

带有查询时间的行如下所示:

;; Query time: 61 msec

所以这匹配字符串 Query time,将第 4 个字段添加到 total 变量并递增一个计数器。最后,它将总数除以计数以计算平均值。

关于linux - 多个站点的 DIG 查询时间平均速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52977853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com