Isso deve funcionar:
sed 's/^-th\(.*RD \\)/-to/' foo.txt
Isso é um pouco complexo porque \
é um caractere especial e precisa ser que escapou . Como o escape é feito por \
, a maneira de corresponder a um literal \
é \
. Os \(
e \)
estão lá para capturar o padrão correspondente que é então referido como na substituição.
A sintaxe é mais fácil em Perl, pois os parênteses não precisam ser escapados:
perl -pne 's/^-th(.*RD \)/-to$1/' foo.txt
No awk você faria:
awk '/RD \$/{$1="-to"}{print}' foo.txt