Хаки, но это работает
cat file | grep value | cut -d ":" -f2 | while read values; do echo -n "${values}:" && echo -n $values | base64;done > values && cat ./values | while read values; do sed -i "s/$(echo $values | cut -d ":" -f1)/$(echo $values | cut -d ":" -f2)/g" ./file;done
&& rm -rf values
Допустимое содержимое файла:
data:
- name: stringa
value: valuea
- name: stringb
value: valueb
Вывод
ebvjr@Maintenance:~/work/stackoverflow$ cat file
data:
- name: stringa
value: valuea
- name: stringb
value: valueb
ebvjr@Maintenance:~/work/stackoverflow$ cat file | grep value | cut -d ":" -f2 | while read values; do echo -n "${values}:" && echo -n $values | base64;done > values && cat ./values | while read values; do sed -i "s/$(echo $values | cut -d ":" -f1)/$(echo $values | cut -d ":" -f2)/g" ./file;done && rm -rf values
ebvjr@Maintenance:~/work/stackoverflow$ cat file
data:
- name: stringa
value: dmFsdWVh
- name: stringb
value: dmFsdWVi
ebvjr@Maintenance:~/work/stackoverflow$