#awk #key-value
Вопрос:
Например, у меня в файле сценария есть следующее
info="{FirstName=Tom;LastName=White;Gender=Male;Status=Married;}"
я ищу, чтобы извлечь ключ:vale и присвоить значения переменной
first_name=[FirstName]
last_name=[LastName]
gender=[Gender]
status=[Status]
и, наконец, получить значения из переменных для дальнейшей обработки:
echo $first_name = Tom
echo $last_name = White
echo $gender = Male
echo $status = Married
echo $info | awk -F'[{};=]' '{for(i=2;i<NF-1;i =2) print $i ":" $(i 1)}'
напечатал бы ключ: значение, но не могу сохранить значения в другой переменной и использовать для дальнейшей обработки
Комментарии:
1. Привет и добро пожаловать в SO. Не могли бы вы также поместить входные данные в блоки кода, так как неясно, все ли входные данные находятся в одной строке или в нескольких строках? Кроме того, часть, в которой вы говорите о присвоении значений переменным, неясна (по крайней мере, мне) — вы хотите, чтобы это было сделано на bash или на каком-то другом языке?
2. Да, я хочу, чтобы это было сделано в bash ; я собираюсь обновить описание
3.
eval "${info:1: -1}"; echo "$FirstName"
Пожалуйста, ознакомьтесь с рисками, связанными сeval
.4. это вопрос bash или вопрос awk?