Оскільки у вас є 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 >.