Tente algo assim. Combine o início da função, use o comando de leitura r
para ler o arquivo de texto. Em seguida, adicione um comando para excluir d
todas as linhas entre o início e o final da função:
sed '
/^static void BLAKE2_NEON_Compress64(/r '"$ffile"'
/^static void BLAKE2_NEON_Compress64(/,/^}$/d
' <"$ifile" >"$ofile"
Se a string a ser substituída estiver em uma única linha, você pode tentar isso
uuid='c0e4e6b2-81f4-477c-89a4-7656e58719ce'
sed '/^'"$uuid"'/{
r '"$ffile"'
d
}' <"$ifile" >"$ofile"