在AWK中使用AWK输出为csv文件打印变量

时间:2015-03-30 18:29:04

标签: bash csv awk

我有一个从日志文件中填充的变量。它捕获用于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填充的内容)

1 个答案:

答案 0 :(得分:0)

现在$ hostvar正试图通过AWK解决。试试

awk '{print $2 "," $4 "," '$hostVar'}'

使用来自bash的$ hostvar。单引号将变量阻塞到字符串中,在bash中。