소문자로 입력을 필터링해야 합니다. 다음 명령에 파일을 공급해 봅니다.
cat ws2.txt | sed "s/[a-zA-Z0-9]/[A-Z]/g"
답변1
낮은 것을 높은 것으로 변환하려는 것인지, 아니면 낮은 것을 모두 삭제하려는 것인지 잘 모르겠습니다. 아래에서 위로 전환해 보세요.
tr [:lower:] [:upper:] < ws2.txt
소문자를 자르려면 다음을 사용할 수 있습니다.sed
sed -e 's/[a-z]//g' ws2.txt
또는 tr
@fd0의 제안을 따르고 사용할 수 있습니다.
tr -d '[:lower:]' < ws2.txt
숫자와 대문자를 자르려면 (이제 원하는 대로 들림)을 사용하십시오.
tr -d '[A-Z0-9]' < ws2.txt
답변2
설치 했다고 가정하면 perl
(을 사용하여 which perl
설치한 경우 출력은 다음과 같아야 함 /usr/bin/perl
) Perl one-liner를 실행하고 조정할 수 있습니다.정규식귀하의 선호도에 따라.
perl -p -i.bak -w -e 's/[a-z]//g' test.txt # strips lowercase
또는
perl -p -i.bak -w -e 's/([a-z])/\U$1/g' test.txt # converts to uppercase
-p
Perl에게 프로그램을 작성하라고 지시하세요 . -i
입력 파일이 백업 test.txt
되고 이름이 지정되도록 지정합니다 test.txt.bak
. 경고를 활성화하고 -w
(실수나 오타가 있는 경우에 좋음) -e
다음 텍스트가 실행하려는 코드임을 나타냅니다.