Como posso capitalizar o primeiro caractere após uma string constante em vários arquivos?

0

Estou procurando uma maneira de capitalizar o primeiro caractere após uma determinada string em vários arquivos de texto, todos no mesmo diretório. Eu estou pensando que o sed é a ferramenta a ser usada para isso.

Por exemplo, todos os arquivos de texto contêm a string "name=" e desejo capitalizar a letra a seguir. Às vezes, há mais de uma instância de "name=" no arquivo. O caractere seguinte é sempre uma letra e às vezes já é maiúscula. Há também outras instâncias de "=" que não têm "nome" por trás delas.

Alguém pode me apontar na direção certa aqui? Estou mais do que feliz em saber como eu mesmo não tenho certeza de onde procurar.

Obrigado!

    
por Bobby 28.02.2018 / 08:23

1 resposta

0

Com o GNU sed, você pode fazer isso simplesmente:

sed '/name=[a-z]/s/name=\(.\)/name=\U/g'

Onde:

  1. \(.\) define um grupo de coleções de expressões regulares de um único caractere.

  2. \U informa ao sed para converter algo para letras maiúsculas.

  3. refere-se ao primeiro grupo de coleta, ou seja, o caractere que você deseja colocar em maiúsculas.

por 28.02.2018 / 10:40

Tags