Provavelmente, é melhor escrever algo. Este script não é robusto (não verifica strings vazias, não considera o título desejado em várias linhas, etc.), mas pode ser algo para você começar. Backup antes de começar a fazer qualquer coisa maluca.
#! /bin/bash
FILES="./*.html"
for f in $FILES
do
grep '.*org-document-title">.*' $f |\
sed -e 's/.*org-document-title">\([^<]\+\).*/\n/g' |\
tail -n 1 |\
xargs -I new_title sed -i.bak 's/<title>[^>]\+<\/title>/<title>new_title<\/title>/g' $f
done
Isso só substitui o título pelo novo my desired title
. Você poderia expandir fazendo outra passagem e se livrando dos elementos span
indesejados.