Использование sed для замены некоторых букв нижнего регистра на верхний регистр - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь заменить _ [нижний регистр] на [верхний регистр], используя sed в bash.

Пока что я пробовал этот код:

new_arr=$( echo $old_arr | sed -e 's%_\(.\)%\1\U%g' )

С вводом

this_is_a_function()

Я ожидал, что результат будет

thisIsAFunction()

, но я получил

thisisafunction

У вас есть предложение, что я могу делать неправильно?

1 Ответ

2 голосов
/ 20 октября 2019

Не могли бы вы попробовать следующее.

sed 's/_\([a-z]\)/\U\1/g'  Input_file


Так что в случае ОП это должно быть что-то вроде:

new_arr=$( echo "$old_arr" | sed 's%_\([a-z]\)%\U\1%g' )
...