我有一个从日志文件中填充的变量。它捕获用于awk打印输出的服务器的主机名。我制作一个CSV文件,打印MAC地址,端口号,然后输出主机名。
这是变量
hostVar=$(awk '/#/' macAddress.log)
这很好用 我需要的是在我的下一个awk语句中打印变量,以便它打印var last。下面工作正常并打印MAC,HOST
grep -Ff masterList macAddress.log | awk '{print $2 "," $4}' >> output.csv
我正在使用主列表来过滤掉我需要捕获的MAC地址。最终结果需要看起来像MAC,PORT,HOST
grep -Ff masterList.csv macAddress.log | awk '{print $2 "," $4 "," $hostVar}' >> output.csv
显然不起作用但我需要在端口号旁边的CSV文件中使用主机名(MAC然后是端口号然后是主机名)
0011.2233.4455,Gi1/0,Switch1
(switch1是$ hostVar填充的内容)
答案 0 :(得分:0)
现在$ hostvar正试图通过AWK解决。试试
awk '{print $2 "," $4 "," '$hostVar'}'
使用来自bash的$ hostvar。单引号将变量阻塞到字符串中,在bash中。