Строго говоря, если ваш Input_file такой же, как показано в примере, то вам могут помочь следующие.
awk -F"= " -v s1=", " '{printf $1 OFS FS OFS "{";gsub(/}|{|,$/,"",$2);;num=split($2,array," and ");for(i=1;i<=num;i++){split(array[i],array2," ");printf("%s%s",array2[2] s1 array2[1],i!=num?" and ":"")}print "},"}' OFS="\t" Input_file
Теперь добавляем не одну линейную форму решения.
awk -F"= " -v s1=", " '{
printf $1 OFS FS OFS "{";
gsub(/}|{|,$/,"",$2);
num=split($2,array," and ");
for(i=1;i<=num;i++){
split(array[i],array2," ");
printf("%s%s",array2[2] s1 array2[1],i!=num?" and ":"")}
print "},"
}' OFS="\t" Input_file