for (( x=1; $x<=300; x++ )); do ( ping world$x.runescape.com -n 20 | grep Minimum | grep -oP "(?<=Minimum = )[0-9]+(?=ms)" >> RuneScape_Ping_Output.txt ); done这样做是对world.runescape.com执行20次ping操作,查找最小的ping并将其存储为其输出。它将按照指定的方式为world1.runescape.com一直到world300.runescape.com执行此操作。输出仅是最小ping值的单个数字。
我的问题是我想要World number和它存储的输出。因此,当它want world1.runescape.com而不是只存储数字30 (30是ms)时,我希望它显示World1,30。例如,如果它使用world233.runescape.com,它将显示World233,55
有没有办法做到这一点?因为有时有一个World122但没有World123,所以除非我有一些东西来标记每个ping,否则如果没有返回123的值,那么将World124放在World123所在的位置将会给出不正确的结果,所以我需要给它们加上标题以获得占位符。
发布于 2013-08-31 06:34:54
您希望在输出的每一位之前进行回显。
for (( x=1; $x<=300; x++ )); do
echo -n "world$x,"
ping world$x.runescape.com -n 20 | grep Minimum | grep -oP "(?<=Minimum = )[0-9]+(?=ms)"
done > RuneScape_Ping_Output.txt我已经将重定向移到了外部,假设你不想积累结果,只需要获取最新的集合。
https://stackoverflow.com/questions/18541235
复制相似问题