Итак, у меня есть несколько файлов свойств, которые содержат ключи и значения в следующем формате:
Key1=value1
Key2=Value2
etc..
Поэтому, когда я запускаю эту команду, чтобы получить ключи:
ssh 172.16.1.1 "grep -v '^#' /src/PTB.properties" | awk -F "=" '{print $1}'
Я получаюследующий вывод
userField
User
srcIP
srcPort
dstIP
dstPort
date
time
И когда я запускаю ту же команду, но с {print $2}
в конце, чтобы получить значения:
ssh 172.16.1.1 "grep -v '^#' /src/PTB.properties" | awk -F "=" '{print $2}'
, я получаю следующий вывод:
User-Name
Full-Name
Source-IP-Address
Source-UDP-Port
Target-UDP-Port
Date
Time
Итак, я хочу сказать, что некоторые ключи не имеют значения.
При этом я запускаю следующую команду для получения этих ключей и значений:
while IFS= read -r line; do
USER_PARAMETERS_KEYS+=( "$line" )
done < <( ssh $ip "grep -v '^#' ${PARAMETER_PATH[$i]}" | awk -F "=" '{print $1}' )
while IFS= read -r line; do
USER_PARAMETERS_VALUES+=( "$line" )
done < <( ssh $ip "grep -v '^#' ${PARAMETER_PATH[$i]}" | awk -F "=" '{print $2}' )
Моя проблема в том, что USER_PARAMETERS_VALUES
не сохраняет нулевые значения.Например, после выполнения этой команды в USER_PARAMETERS_VALUES
вместо 8 есть только 7 элементов, поскольку ключ dstIP
пуст.
Есть идеи, как решить эту проблему?Спасибо.