답변:
모든:
tr '[:lower:]' '[:upper:]'
(따옴표를 잊지 마세요, 그렇지 않으면 그하지 않습니다 작업라는 파일이 있다면 :, l... 또는 r현재 디렉토리) 또는 :
awk '{print toupper($0)}'
또는:
dd conv=ucase
현재 로케일에 정의 된 규칙에 따라 문자를 대문자로 변환합니다. 그러나 로케일이 문자 세트로 UTF-8을 사용하고 소문자에서 대문자로의 변환을 명확하게 정의하더라도, GNU dd, GNU tr및 mawk( awk예를 들어 우분투 의 기본값 )은 그 뒤에 따르지 않습니다. 또한 또는 이외의 로케일을 지정하는 표준 방법 이 없으므로 현재 로케일에 관계없이 UTF-8 파일을 대문자로 변환하려면 표준 도구를 사용하는 것이 좋지 않습니다.CPOSIX
종종 이식성을 위해 가장 좋은 방법은 펄일 수 있습니다.
$ 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.UTF8perlperl
나는 당신이 이것 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