Ponieważ masz sed
tag, oto sed
odpowiedź:
echo "$word" | sed -e "{ s/^\(.\).*/\1/ ; q }"
Graj przez grę dla tych, którzy je lubią (ja!):
{
s
: rozpocznij procedurę zastępowania
/
: Rozpocznij określanie, co ma zostać zastąpione
^\(.\)
: złap pierwszą postać z grupy 1
.*
:, upewnij się, że reszta linii będzie w zamianie
/
: rozpocznij określanie zamiany
\1
: wstaw grupę 1
/
: Reszta jest odrzucana;
q
: Zakończ, sed
aby nie powtórzył tego bloku dla innych linii, jeśli takie istnieją.
}
To była zabawa! :)
Można również użyć grep
i etc, ale jeśli jesteś w bash
tej ${x:0:1}
magii jest jeszcze lepszym rozwiązaniem imo. (Spędziłem około godziny próbując użyć do tego celu rozwijania zmiennych POSIX, ale nie mogłem :(
)
-c
w nagłówku POSIX nie ma opcji: < unix.com/man-page/posix/1/head >.