使用脚本输出添加文本

时间:2013-08-30 20:46:45

标签: shell output

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

这样做是ping world.runescape.com 20次,并寻找最小的ping并将其存储为其输出。它将按照指定的方式为world1.runescape.com一直到world300.runescape.com。输出只是一个最小ping值的数字。

我遇到的问题是我想要存储世界号码和输出。因此,当它正在ping world1.runescape.com而不是仅存储数字30(30是ms)时,我希望它显示World1,30。然后,如果它以world233.runescape.com为例,它将显示World233,55

有没有办法做到这一点?因为有时候会有一个World122而没有World123,所以除非我有标记每个ping的内容,否则如果没有值返回123,World124会将World124放在哪里会产生不正确的结果,所以我需要将它们命名为占位符。 / p>

1 个答案:

答案 0 :(得分:1)

你想在每一位输出之前回显。

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

我已经将重定向移到了外面,假设您不想累积结果,只需获取最新的设置。