Capitaliza a primeira letra da primeira palavra

1

No ViM, como posso transformar essas linhas de texto:

stringa1 minuscolo
stringa2 minuscolo
stringa33 minuscolo
stringa44 minuscolo

para isso:

Stringa1 minuscolo
Stringa2 minuscolo
Stringa33 minuscolo
    
por elbarna 21.09.2015 / 12:51

3 respostas

5

O comando a seguir converterá (é uma string substituta regex) o primeiro caractere para maiúsculo

:%s/^./\u&/g substituirá o primeiro caractere em todas as linhas

:1,4s/^./\u&/g

Este comando substituirá a linha de 1 a 4 ( 1,4 ) altera o intervalo de linha no comando.

    
por 21.09.2015 / 13:07
2

Também vale a pena observar o comando ~ , que alterna o caractere do caractere sob o cursor, e o operador gU que converte em maiúsculas no movimento especificado. Exemplo:

gUl converte o caractere atual em maiúscula (ou deixa em maiúsculas, se já estiver)

gUe é convertido em maiúsculas até o final da palavra

g~e alterna o caso de cada letra até o final da palavra.

Experimente :help case para mais.

    
por 27.09.2015 / 13:13
1

Abaixo está uma abordagem alternativa (o Linux oferece muitas maneiras diferentes de fazer a mesma coisa; em última análise, depende da escolha / preferência pessoal.)

sed -rin 's/./\u&/1p' file.txt

Outra alternativa é abaixo do que capitaliza a primeira letra de cada palavra

sed -rin 's/([a-zA-Z])([a-zA-Z]*)/\u/g p' file.txt
    
por 10.04.2018 / 05:15

Tags