批量ping脚本

linux环境下,假如有一堆ip,我们想检测ip是否可达,自动化的方法之一如下:

while read line
do 
ping $line -c 1
done < `pwd`/file

1、建立一个文本文件,并将ip列表的方式保存到文件中
例如:
$:cat file

192.168.1.1
192.168.1.2
192.168.1.3
...

2、通过一个读取文件的循环来访问ip
例如:
while read line
do
echo $line
done < file

3、ping程序

ping <ip_address> -c 2

4、对结果进行判断
通过管道的方式把ping传给grep或者awk。

ping -c 5 192.168.1.1 |grep 100%|wc -l

反引号是命令执行的结果,不是$?,不要混淆了,而且,不要把函数的返回值和命令的返回的结果弄混淆
我的疑问?
如何显示grep所查到的上一行或者下一行?

使用grep命令,如何能显示某关键字的前后行的内容
grep -A,-B,-C

-A num 显示匹配行和后n行
-B num 显示匹配行和前n行
-C num 显示匹配行和前后n行

原文地址:https://www.cnblogs.com/lineuman/p/6776028.html