eqwww1 2022-03-22 14:45 采纳率: 100%
浏览 27
已结题

请教Linux下ping 的批处理文件,输出结果转换成设备名称,如何操作?

请教Linux下ping 的批处理文件,输出结果转换成设备名称,如何操作?
写了一个批处理ping 文件,如下
#! /bin/bash
#ps:ping these ip of the ip.lst,send to ping_ok.lst,fail file send to ping_fail.lst。
echo "" >ping_fail.lst
echo "" >ping_ok.lst
for i in cat ip.lst // ip.lst是ip列表文件
do
ping=ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'
if [ $ping -eq 100 ];then
echo $i $j fail >>ping_fail.lst
else
echo $i $j ok >>ping_ok.lst
fi
done

ip.lst文件内容为:10.37.199.15 cz-cp- JCZ
10.43.75.43 cz-cp- TIA
10.43.75.51 cz-cp- XIT
10.56.72.253 cz- DOP

我希望ping_fail.lst结果文件是
10.43.75.43 cz-cp- TIA down
10.43.75.51 cz-cp- XIT down
10.56.72.253 cz- DOP down

请问怎么修改文档??

  • 写回答

1条回答 默认 最新

  • x10n9 2022-03-23 02:41
    关注
    
    #!/bin/bash
    while read line
    do
    i=`echo $line|grep -Eo "([0-9]+\.){3}[0-9]{1,3}"`
    ping=`ping -c 1 -W 2 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
    if [ $ping -eq 100 ];then
    echo $line down >> ping_fail.lst
    else
    echo $line ok >> ping_ok.lst
    fi
    done < ip.lst
    

    你的设备名称有空格,所以筛选下IP

    img


    有用请采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月23日
  • 创建了问题 3月22日

悬赏问题

  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
  • ¥15 传人记程序做的plc 485从机程序该如何写
  • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?