Semua:
tr '[:lower:]' '[:upper:]'
(jangan lupa tanda kutip, sebaliknya yang tidak akan bekerja jika ada file yang bernama :
, l
, ... atau r
di direktori saat ini) atau:
awk '{print toupper($0)}'
atau:
dd conv=ucase
dimaksudkan untuk mengonversi karakter menjadi huruf besar sesuai dengan aturan yang ditentukan dalam lokal saat ini. Namun, bahkan ketika lokal menggunakan UTF-8 sebagai set karakter dan dengan jelas mendefinisikan konversi dari huruf kecil ke huruf besar, setidaknya GNU dd
, GNU tr
dan mawk
(default awk
pada Ubuntu misalnya) tidak mengikuti mereka. Juga, tidak ada cara standar untuk menentukan lokal selain C
atau POSIX
, jadi jika Anda ingin mengonversi file UTF-8 menjadi huruf besar dengan mudah terlepas dari lokal saat ini, Anda kurang beruntung dengan toolchest standar.
Seperti sering, untuk portabilitas, taruhan terbaik Anda mungkin perl:
$ echo lľsšcčtťzž | PERLIO=:utf8 perl -pe '$_=uc'
LĽSŠCČTŤZŽ
Sekarang, Anda perlu berhati-hati bahwa tidak semua orang setuju dengan versi huruf besar dari karakter tertentu.
Misalnya, di lokal Turki, huruf besar i
bukan I
, tapi İ
( <U0130>
). Di sini dengan toolchest heirloom, tr
bukan GNU tr:
$ echo ií | LC_ALL=C.UTF-8 tr '[:lower:]' '[:upper:]'
IÍ
$ echo ií | LC_ALL=tr_TR.UTF-8 tr '[:lower:]' '[:upper:]'
İÍ
Pada sistem saya, perl
konversi ke atas didefinisikan dalam /usr/share/perl/5.14/unicore/To/Upper.pl
, dan saya menemukan bahwa ia berperilaku berbeda pada beberapa karakter dari libc GNU toupper()
di C.UTF8
lokal misalnya, perl
menjadi lebih akurat. Misalnya perl
dengan benar mengkonversi ɀ ke Ɀ , libc GNU (2.17) tidak.
Saya pikir Anda bisa melakukan ini dengan
awk
dantoupper
fungsinya.Sebagai contoh
Tidak bekerja dengan GNU
tr
:Bekerja dengan GNU
awk
:sumber
tr
atauawk
implementasi. Sebagai contoh, sebagian besartr
akan mengkonversi karakter dengan benar ketika di lokal UTF8, menurut lokal saat ini, GNUtr
tidak.mawk
tidak.tr
, tetapi tidak denganawk
Ini berfungsi dengan OS X
tr
tetapi tidak dengan GNUtr
:Ini berfungsi dengan
gawk
tetapi tidak denganmawk
ataunawk
(yang ada/usr/bin/awk
di OS X):Pilihan lain adalah menggunakan GNU
sed
:Di Bash 4.0 dan yang lebih baru, Anda juga dapat menggunakan
^^
ekspansi parameter:sumber