Dato che hai un sed
tag, ecco una sed
risposta:
echo "$word" | sed -e "{ s/^\(.\).*/\1/ ; q }"
Suona per gioco per coloro che amano quelli (lo faccio!):
{
s
: avvia una routine di sostituzione
/
: Inizia a specificare cosa deve essere sostituito
^\(.\)
: cattura il primo carattere nel gruppo 1
.*
:, assicurati che il resto della linea sarà nella sostituzione
/
: inizia a specificare la sostituzione
\1
: inserire il gruppo 1
/
: Il resto viene scartato;
q
: Esci in sed
modo che non ripeta questo blocco per altre righe se ce ne sono.
}
È stato divertente! :)
È inoltre possibile utilizzare grep
ed ecc, ma se siete bash
nella ${x:0:1}
magia è ancora la soluzione migliore imo. (Ho passato un'ora a provare a utilizzare l'espansione della variabile POSIX per farlo ma non ci sono riuscito :(
)
-c
opzione in POSIX head: < unix.com/man-page/posix/1/head >.