$ echo xà | sed 's%\(.\)\([a-z]\)%<\1><\2>%'
<x><Ã>
но
$ echo xà | sed 's%\([a-z]\)%<\1>%g'
<x>Ã
$ echo à | sed 's%\([a-z]\)%<\1>%'
Ã
Шо за фигня, посаны? Вообще не понимаю, почему оно ТАК работает в первом случае. Можно [a-z] везде заменить на [A-Z] - всё то же самое.
GNU sed 4.2.1
Update: glibc 2.15