Vì bạn có một sedthẻ ở đây là một sedcâu trả lời:
echo "$word" | sed -e "{ s/^\(.\).*/\1/ ; q }"
Chơi bằng cách chơi cho những người thích những (Tôi làm!):
{
s: bắt đầu thói quen thay thế
/: Bắt đầu chỉ định những gì sẽ được thay thế
^\(.\): bắt ký tự đầu tiên trong Nhóm 1
.*:, đảm bảo phần còn lại của dòng sẽ thay thế
/: bắt đầu chỉ định thay thế
\1: insert Group 1
/: Phần còn lại bị loại bỏ;
q: Thoát sedđể nó không lặp lại khối này cho các dòng khác nếu có.
}
Thật là vui! :)Bạn cũng có thể sử dụng grepvà vv nhưng nếu bạn đang ở trong bashcác ${x:0:1}phép thuật vẫn là giải pháp tốt hơn imo. (Tôi đã dành hơn một giờ để cố gắng sử dụng mở rộng biến POSIX để làm điều đó nhưng không thể :( )
-ctùy chọn trong phần đầu POSIX: < unix.com/man-page/posix/1/head >.