首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在一个文件中平平多个IP,并使用shell脚本只在另一个文件中打印在线IP?

如何在一个文件中平平多个IP,并使用shell脚本只在另一个文件中打印在线IP?
EN

Stack Overflow用户
提问于 2015-12-31 10:50:30
回答 2查看 1.5K关注 0票数 1

我有一个包含很多ips的文件,我想循环它们,平它们,并将在线的文件打印到另一个文件中。我知道循环文件,平他们,但我不知道如何读取输出,以知道ip是否在线。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-31 11:25:14

使用此脚本

代码语言:javascript
运行
复制
1. File full of IP's
[root@localhost scripts]# cat iplist.txt
172.31.57.63
localhost
127.0.0.1
172.31.57.62

2. Create the script

 [root@localhost scripts]# cat pingips.sh
 #!/bin/bash

 up_ipfile='online_server.txt'

 while IFS= read -r ips; do
        ping -c 1 $ips > /dev/null 2>&1
        if [ $? -eq 0 ]; then
              echo $ips >> $up_ipfile
        fi
 done < iplist.txt

 3. Run the script after making it executable 
 [root@localhost scripts]# ./pingips.sh


 4. It will create a file with IP's which are alive
 [root@localhost scripts]# cat online_server.txt
 172.31.57.63
 localhost
 127.0.0.1
票数 2
EN

Stack Overflow用户

发布于 2015-12-31 10:57:49

检查ping命令的退出状态。if ping ...; then echo online; fi

请注意,您必须使用-c-w标志限制ping时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34545284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档