Awk
подход:
awk '$1=="keyword:"{ getline k < "file2"; print $1, "\047" k "\047"; next }1' file1
Выход:
not_keyword: 'something'
keyword: 'condition 1 condition 2 condition 3'
another_not_keyword: 'something'
Как вариант использования sed
в -замена места:
$ sed -Ei "s/^(keyword: ).*/\1'$(cat file2)'/" file1