需要在同一行中输出2个命令&需要添加列

时间:2015-06-01 19:24:02

标签: shell

我刚开始学习shell脚本,现在编写了一个小shell脚本,如下所示。

问题:

  1. 此命令的输出即将到来(如第一个命令首先运行并给出输出和第二个命令,然后将输出发送到第一个。我想在同一行中输出两个命令。
  2. 我想组织脚本。在我想要的地方,输出应该排成一排。列,如果我也可以添加日期,因为我将在cronjob中添加此脚本,它将每5分钟生成一次文件。
  3. #!/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;

0 个答案:

没有答案
相关问题