У меня есть переменная, которая заполняется из файла журнала. он захватывает имя хоста сервера для использования в распечатке awk. im, создавая файл CSV, который печатает MAC-адрес, номер порта, а затем имя хоста.печать переменной в AWK с выходом AWK для файла csv
здесь является то, что переменная
hostVar=$(awk '/#/' macAddress.log)
это работает отлично то, что мне нужно, чтобы напечатать переменную в моем следующем операторе AWK так, что она печатает вар в последнюю очередь. ниже отлично работает и печатает MAC, HOST
grep -Ff masterList macAddress.log | awk '{print $2 "," $4}' >> output.csv
Я использую основной список, чтобы отфильтровать адреса MAC мне нужно захватить. конечный результат должен выглядеть как этот MAC, порт HOST
grep -Ff masterList.csv macAddress.log | awk '{print $2 "," $4 "," $hostVar}' >> output.csv
очевидно, что не работает, но мне нужно имя хоста в файле CSV рядом с номером порта (MAC затем порт Num затем имя хоста)
0011.2233.4455,Gi1/0,Switch1
(switch1 того, что $ hostVar заполняется)
Что вы ожидаете '$ test' равным? В настоящий момент AWK ищет переменную awk с именем «test» и не находит ее, поэтому по умолчанию она равна 0. Затем AWK смотрит на оператор $ и оценивает его как значение для всего ввода, потому что $ 0 равно всем входным данным. –
извините, опечатка. все, что связано с $ test, должно быть $ hostVar –