Karena Anda memiliki sed
tag, inilah sed
jawabannya:
echo "$word" | sed -e "{ s/^\(.\).*/\1/ ; q }"
Mainkan demi permainan untuk mereka yang menikmatinya (saya lakukan!):
{
s
: memulai rutinitas substitusi
/
: Mulai tentukan apa yang akan diganti
^\(.\)
: tangkap karakter pertama di Grup 1
.*
:, pastikan sisa baris akan berada di substitusi
/
: mulai menentukan penggantinya
\1
: masukkan Grup 1
/
: Sisanya dibuang;
q
: Keluar sed
agar tidak mengulangi blok ini untuk baris lain jika ada.
}
Itu menyenangkan! :)
Anda juga dapat menggunakan grep
dan dll tapi jika Anda berada di bash
dalam ${x:0:1}
tenung masih solusi yang lebih baik imo. (Saya menghabiskan waktu satu jam mencoba menggunakan ekspansi variabel POSIX untuk melakukan itu tetapi tidak bisa :(
)
-c
opsi di kepala POSIX: < unix.com/man-page/posix/1/head >.