我刚开始学习shell脚本,现在编写了一个小shell脚本,如下所示。
问题:
#!/bin/bash
MEM=`"$IPATH"/cli iedge list | grep "Registration ID" | cut -f6`;
PORT=`"$IPATH"/cli iedge list | grep "Ongoing Calls" | cut -f6`;
echo `date "+%F %T"`",$MEM,$PORT" >> $IFILE;
它的输出至少比以前更好,但是我想知道我们是否可以像我附加样本格式那样做?
IPATH='/usr/local/nextone/bin';
IFILE='/root/vport.csv';
MEM=`"$IPATH"/cli iedge list | egrep "Registration ID|Ongoing Calls" | cut -f6`;
echo `date "+%F %T"`",$MEM" >> $IFILE;
有了这个,我得到以下输出:
Registration ID SONUS_01
Ongoing Calls 0 (0:0)
但是如果可能的话我想要这个输出:
-------------------------------------------------------
| Date/Time | REGISTRATION ID | Ongoing Calls
|2.23 Pm, 1 Jun-2015 | SONUS_01 | 0 (0:0)
------------------------------------------------------
WalterA的新评论后输出..
现在,我可以看到我想看到的内容,如下所示。
| Registration ID | SONUS_02 | Ongoing Calls | 1 (0:1)
但是,这是我们为Single Endpoint指定的预定义值。我们希望此脚本应该运行并捕获所有端点名称“REGISTRATION ID”& “正在打电话”,从那里输出就可以了。
下面的命令,如果我在服务器上运行它给我下面的输出,我可以发送下面命令的输出特定文件等
#cli iedge list | egrep“注册ID |正在进行的通话”>> nitin.csv cli iedge list是为SBC上配置的所有端点提供输出的命令
新脚本如下所示。
MEM=`"$IPATH"/cli iedge list | egrep "Registration ID|Ongoing Calls" | cut -f6`;
R =“注册ID”; S = “SONUS_02”; C =“正在进行的通话”; N =“1(0:1)”; printf“|%-15s |%-13s |%-13s |%-21s |” “$ R”“$ S”“$ C”“$ N”
echo date "+%F %T"
“,$ MEM”>> $ IFILE;