Поскольку у вас есть sed
тег, вот sed
ответ:
echo "$word" | sed -e "{ s/^\(.\).*/\1/ ; q }"
Игра за игрой для тех, кому нравится (я люблю!):
{
s
: начать процедуру замены
/
: Начните указывать, что нужно заменить
^\(.\)
: захватить первого персонажа в группе 1
.*
:, убедитесь, что остальная часть строки будет в замене
/
: начать указывать замену
\1
: вставить группу 1
/
: Остальное отбрасывается;
q
: Выйти, sed
чтобы не повторять этот блок для других строк, если они есть.
}
Что ж, было весело! :)
Вы можете также использовать grep
и т.д. , но если вы находитесь в bash
в ${x:0:1}
магики еще лучшее решение имо. (Я потратил около часа, пытаясь использовать для этого расширение переменной POSIX, но не смог :(
)
-c
в заголовке POSIX нет опции: < unix.com/man-page/posix/1/head >.