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