Este é um comando vim muito direto:
:%s/,./\U&
O \U significa converter o seguinte em maiúsculas , e o & significa todo o texto correspondente (o mesmo que ) /g
Como não fornecemos o sinalizador f,lvU , isso será executado somente na primeira correspondência. Você também pode fazer um comando normal:
:%norm f,lvU
É como digitar f, em cada linha manualmente: l encontre uma vírgula, vU mova para a direita, %code% converta para maiúscula.
Para fazer isso como um comando bash:
vim file.txt -c "%s/,./\U&" -c "wq"
ou
vim file.txt -c "%norm f,lvU" -c "wq"