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

在bash脚本中使用多个列变量从路由器中提取输出,bash,variables,Bash,Variables,我有一个脚本,它登录到路由器并提取名为routerauto的输出。我想使用文本文件中的数据自动填充所需命令,从大量路由器中提取所需信息 最后,我希望脚本在文本文件的每一行中移动,用以下列的输出填充空白。文本文件使用制表符作为分隔符 routerauto VARIABLE1 "sh service id VARIABLE2 sap VARIABLE4 detail" 示例数据: hostnamei serv-id cct sap london-officei

我有一个脚本,它登录到路由器并提取名为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
唯一的解决方案:

#!/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"