답변:
모든:
tr '[:lower:]' '[:upper:]'
(따옴표를 잊지 마세요, 그렇지 않으면 그하지 않습니다 작업라는 파일이 있다면 :
, l
... 또는 r
현재 디렉토리) 또는 :
awk '{print toupper($0)}'
또는:
dd conv=ucase
현재 로케일에 정의 된 규칙에 따라 문자를 대문자로 변환합니다. 그러나 로케일이 문자 세트로 UTF-8을 사용하고 소문자에서 대문자로의 변환을 명확하게 정의하더라도, GNU dd
, GNU tr
및 mawk
( awk
예를 들어 우분투 의 기본값 )은 그 뒤에 따르지 않습니다. 또한 또는 이외의 로케일을 지정하는 표준 방법 이 없으므로 현재 로케일에 관계없이 UTF-8 파일을 대문자로 변환하려면 표준 도구를 사용하는 것이 좋지 않습니다.C
POSIX
종종 이식성을 위해 가장 좋은 방법은 펄일 수 있습니다.
$ 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
의 GNU libc toupper()
와 약간 다른 문자에서 다르게 동작한다는 것이 더 정확합니다. 예를 들어 ɀ 를 Ɀ 로 올바르게 변환 하면 GNU libc (2.17)는 그렇지 않습니다.C.UTF8
perl
perl
나는 당신이 이것 awk
과 그 toupper
기능으로 이것을 할 수 있다고 생각합니다 .
GNU에서는 작동하지 않습니다 tr
:
$ echo lľsšcčtťzž | tr '[:lower:]' '[:upper:]'
LľSšCčTťZž
GNU와 함께 작동 awk
:
$ echo lľsšcčtťzž | awk '{ print toupper($0) }'
LĽSŠCČTŤZŽ
tr
또는awk
구현입니다. 예를 들어, tr
현재 로케일에 따르면 GNU tr
는 UTF8 로케일에있을 때 대부분 문자를 올바르게 변환 하지 않습니다. mawk
하지 않습니다.
tr
하지만awk