
Я хочу узнать, существует ли программа или регулярное выражение или какой-то трюк для преобразования из
Jackson Michael
jordan michael
jordan Michael
..
в эту форму
JACKSON Michael
JORDAN Michael
..
решение1
С GNU sed
:
sed 's/^\(.* .\)/\U\1/'
Где
s/.../.../
это "найти и заменить"^
соответствует началу строки.* .
соответствует фрагменту слово+пробел+символ(...)
указывает на то\1
, к чему относится далее (эти скобки необходимо экранировать, следовательно\(
и т. д.)\U
преобразуется в верхний регистр\1
относится к первому появлению(...)
.
Его можно описать какнайти фрагмент слова+пробел+символ в начале строки и заменить его версией в верхнем регистре (остальная часть строки останется нетронутой).