我有一个Mac,我想在几天内ping和traceroute多个网站,然后将这些数据保存到.txt文件中。我发现使用bash脚本我可以自动化此过程而不是命令和复制结果。
不幸的是,我找不到足够的信息来独自做到这一点,所以我在这里发布一个问题。
例如:
ping -c 1 google.com
结果.txt文件:
PING google.com (210.7.45.30): 56 data bytes
64 bytes from 210.7.45.30: icmp_seq=0 ttl=61 time=8.595 ms
那么,如何为ping和traceroute多个网站创建一个bash文件,并将结果放入单个TXT文件中?
只需将命令放入文件中并执行:
#!/bin/sh
OUTPUTFILE=~/output.txt
ping -c 1 site1 >> $OUTPUTFILE
traceroute site1 >> $OUTPUTFILE
等。
您应该了解将内容写入文件而不是标准输出的>
操作员。>>
操作员将输出附加到文件。例如,以下命令保存当前目录的文件列表fo文件 files.txt
:
ls > files.txt
在您的情况下,您只需要将ping的输出发送到文件而不是标准输出:
ping -c 1 google.com > data.txt
如果要合并多个网站的数据,则可以打开多个选项卡并运行以下命令:
ping -c 1 [put_the_url_here] >> ~/data.txt
注意>>
操作员,该操作员将数据附加到同一文件的底部。
然后,您可以使用awk
之类的工具将数据转换为CSV格式并使用电子表格程序过滤。