LINUX.ORG.RU

[bash] uppercase

 


0

1

Всем привет.

Как на баше сделать большими первые и две последние буквы?

Например ivanov_ia -> Ivanov_IA.

Как апперкейснуть первую букву я сгорем пополам нагуглил, а две последние ну никак не получаются.

Спасибо.

★★★

Элементарно, Ватсон

echo ivanov_ia | sed 's/^\([a-z]\)\(.*\)\(..$\)/\U\1\E\2\U\3/'

А вот как на голом bash — не знаю.

GotF ★★★★★
()
Ответ на: Элементарно, Ватсон от GotF

Немножко кривовато, правда. Так точнее:

sed 's/^\([a-z]\)\(.*\)\([a-z]\{2\}$\)/\U\1\E\2\U\3/'
GotF ★★★★★
()
Ответ на: комментарий от Jetty

Ээ.. нужно ж не все буквы перевести, а только инициалы

dilmah ★★★★★
()

$ echo 'ivanov_ia' | sed 's/^./\U&/; s/..$/\U&/'
Ivanov_IA

sdio ★★★★★
()
Ответ на: комментарий от sdio

<trollface> $ echo 'жопа' | tr '[:lower:]' '[:upper:]' ЖОПА $ uname -a Darwin 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 $ </trollface>

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.