Isso deve funcionar:
sed 's/^The \(.*\)/\u the/'
Sempre que a palavra "The" aparecer no início de uma linha, quero movê-la para o final da linha e capitalizar a nova primeira palavra na linha. Por exemplo, “o céu” se torna “o céu”. Estou tentando testar isso para a minha biblioteca.
Caso seu sed
não tenha \u
:
awk '$1 ~ "^The" {the=tolower($1); $1=""; char=toupper(substr($0,2,1)); rest=substr($0,3); print char rest, the}' inputfile
Atribuir um nulo a $
deixa o separador de campo (um espaço) no lugar. O primeiro substr()
começa no caractere 2 para pular esse espaço. A vírgula próxima ao final imprime o OFS
(separador de campos de saída que tem como padrão um espaço).