Tất cả:
tr '[:lower:]' '[:upper:]'
(đừng quên có dấu ngoặc kép, nếu không sẽ không làm việc nếu có một tập tin gọi là :
, l
... hoặc r
trong thư mục hiện hành) hoặc:
awk '{print toupper($0)}'
hoặc là:
dd conv=ucase
có nghĩa là để chuyển đổi các ký tự thành chữ hoa theo các quy tắc được xác định trong ngôn ngữ hiện tại. Tuy nhiên, ngay cả khi các địa phương sử dụng UTF-8 làm bộ ký tự và xác định rõ ràng việc chuyển đổi từ chữ thường sang chữ hoa, ít nhất là GNU dd
, GNU tr
và mawk
( awk
ví dụ trên Ubuntu chẳng hạn) không tuân theo chúng. Ngoài ra, không có cách tiêu chuẩn nào để chỉ định các địa điểm khác ngoài C
hoặc POSIX
, vì vậy nếu bạn muốn chuyển đổi các tệp UTF-8 thành chữ hoa bất kể địa điểm hiện tại, bạn sẽ không gặp may với công cụ tiêu chuẩn.
Như thường lệ, đối với tính di động, đặt cược tốt nhất của bạn có thể là perl:
$ echo lľsšcčtťzž | PERLIO=:utf8 perl -pe '$_=uc'
LĽSŠCČTŤZŽ
Bây giờ, bạn cần cẩn thận rằng không phải ai cũng đồng ý về phiên bản chữ hoa của một ký tự cụ thể là gì.
Chẳng hạn, ở các địa phương Thổ Nhĩ Kỳ, chữ hoa i
không phải I
, nhưng İ
( <U0130>
). Ở đây với công cụ gia truyền tr
thay vì GNU tr:
$ echo ií | LC_ALL=C.UTF-8 tr '[:lower:]' '[:upper:]'
IÍ
$ echo ií | LC_ALL=tr_TR.UTF-8 tr '[:lower:]' '[:upper:]'
İÍ
Trên hệ thống của tôi, perl
chuyển đổi từ trên xuống được xác định /usr/share/perl/5.14/unicore/To/Upper.pl
và tôi thấy rằng nó hoạt động khác nhau trên một vài ký tự từ GNU libc toupper()
trong C.UTF8
miền địa phương, perl
chính xác hơn. Ví dụ perl
một cách chính xác cải ɀ để Ɀ , các libc GNU (2.17) thì không.