在bash脚本中使用多个列变量来从路由器中提取输出

时间:2014-07-26 09:37:27

标签: bash variables

我有一个脚本登录到路由器并提取名为routerauto的输出。我想使用文本文件中的数据自动填充所需的命令,以从大量路由器中提取所需的信息。

最终我希望脚本遍历文本文件的每一行,用下面的列输出填充空白。文本文件使用tab作为分隔符。

routerauto VARIABLE1 "sh service id VARIABLE2 sap VARIABLE4 detail"

示例数据:

hostnamei       serv-id cct             sap
london-officei  123456  No987654321     8/1/4:100

示例输出:

routerauto london-office "sh service id 123456 sap 8/1/4:100 detail"

1 个答案:

答案 0 :(得分:0)

以下是仅bash解决方案:

#!/bin/bash

while read hostnamei servid cct sap; do
    echo routerauto $hostnamei \"sh service id $servid sap $sap detail\"
done < <(tail -n +2 sample.data)

根据您的示例文件生成:

routerauto london-officei "sh service id 123456 sap 8/1/4:100 detail"

请注意,假设您的各种数据字段中不允许有空格。