ou forma geral
\n
onde n
é um dígito deve ser substituído pelo texto correspondente a correspondente expressão back-referência, que você define agrupando o texto entre \(...\)
com BRE ou (...)
com ERE.
Com o GNU sed:
$ echo 123456a | sed 's/\([[:alpha:]]\)/\u/'
123456A
ou:
$ echo 123456a | sed -E 's/([[:alpha:]])/\u/'
123456A
Você também pode usar &
para se referir ao texto correspondente em vez de à referência anterior:
$ echo 123456a | sed 's/[[:alpha:]]/\u&/'
123456A
Observe que [:alpha:]
corresponde a caracteres minúsculos e maiúsculos, então algo como 123456Aa
será deixado como está.
Se você deseja substituir a primeira minúscula por maiúscula correspondente, use [:lower:]
:
$ echo 123456Aa | sed 's/[[:lower:]]/\u&/'
123456AA