【问题标题】:Use multiple column variables in bash script to pull output from routers在 bash 脚本中使用多个列变量从路由器中提取输出
【发布时间】:2014-07-26 09:37:27
【问题描述】:

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

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

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"

【问题讨论】:

  • 最好提供实际样本和预期输出。
  • 根据问题的文本修复了“示例数据”。请检查这是否正确。

标签: bash variables


【解决方案1】:

这是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"

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 2018-02-02
    • 1970-01-01
    • 2021-11-04
    • 2012-05-12
    • 2017-04-17
    • 2016-01-30
    相关资源
    最近更新 更多