我有一個從日誌文件填充的變量。它正在捕獲在awk打印輸出中使用的服務器的主機名。即時通訊一個CSV文件,打印MAC地址,端口號,然後主機名。用AWK輸出打印一個變量用於csv文件
這裏是可變
hostVar=$(awk '/#/' macAddress.log)
這工作得很好 我需要的是打印的變量在我的下一個AWK語句,以便它打印最後一個變種。下面的工作正常和打印MAC,主機
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然後端口NUM然後主機名)
0011.2233.4455,Gi1/0,Switch1
(交換機1是什麼$ hostVar填充了)
你期待'$ test'等於什麼?現在,AWK正在尋找一個名爲'test'的awk變量並且沒有找到,因此它默認爲0.然後AWK查看$運算符並評估它等於整個輸入,因爲$ 0等於整個輸入。 – 2015-03-30 18:38:49
對不起,錯字。任何引用$測試的應該是$ hostVar – 2015-03-30 18:41:18