के सभी:
tr '[:lower:]' '[:upper:]'
(उद्धरण मत भूलना, अन्यथा कि नहीं होगा काम वहाँ एक फ़ाइल कहा जाता है कि अगर :
, l
... या r
मौजूदा निर्देशिका में) या:
awk '{print toupper($0)}'
या:
dd conv=ucase
वर्तमान स्थान में परिभाषित नियमों के अनुसार अक्षरों को अपरकेस में बदलने के लिए है। हालांकि, यहां तक कि जहां यूटीएफ -8 का उपयोग चरित्र सेट के रूप में करते हैं और निचले हिस्से से अपरकेस में रूपांतरण को स्पष्ट रूप से परिभाषित करते हैं, कम से कम GNU dd
, GNU tr
और उदाहरण के लिए mawk
( awk
Ubuntu पर डिफ़ॉल्ट ) उनका पालन नहीं करते हैं। इसके अलावा, वहाँ कोई है मानक के अलावा अन्य स्थानों निर्दिष्ट करने के लिए जिस तरह से C
या POSIX
, इसलिए यदि आप portably वर्तमान स्थान की परवाह किए बिना अपरकेस में UTF-8 फ़ाइलें कनवर्ट करना चाहते हैं, तो आप मानक toolchest साथ भाग्य से बाहर रहे हैं।
पोर्टेबिलिटी के लिए, आपका सबसे अच्छा दांव पर्ल हो सकता है:
$ echo lľsšcčtťzž | PERLIO=:utf8 perl -pe '$_=uc'
LĽSŠCČTŤZŽ
अब, आपको सावधान रहने की जरूरत है कि हर कोई इस बात पर सहमत नहीं है कि एक विशिष्ट चरित्र का अपरकेस संस्करण क्या है।
उदाहरण के लिए, तुर्की स्थानों में, अपरकेस i
नहीं है I
, लेकिन İ
( <U0130>
)। यहाँ tr
GNU tr के बजाय हीलूम टूलकिट के साथ :
$ echo ií | LC_ALL=C.UTF-8 tr '[:lower:]' '[:upper:]'
IÍ
$ echo ií | LC_ALL=tr_TR.UTF-8 tr '[:lower:]' '[:upper:]'
İÍ
मेरे सिस्टम पर, perl
ऊपरी-ऊपरी रूपांतरण को परिभाषित किया गया है /usr/share/perl/5.14/unicore/To/Upper.pl
, और मुझे लगता है कि यह उदाहरण के लिए, लोकेल toupper()
में GNU libc से कुछ वर्णों पर अलग-अलग व्यवहार करता है C.UTF8
, perl
अधिक सटीक होने के कारण। उदाहरण के लिए, perl
सही ढंग से ɀ से GN में कनवर्ट करता है , GNU libc (2.17) नहीं।