소문자로 입력 필터링

소문자로 입력 필터링

소문자로 입력을 필터링해야 합니다. 다음 명령에 파일을 공급해 봅니다.

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

-pPerl에게 프로그램을 작성하라고 지시하세요 . -i입력 파일이 백업 test.txt되고 이름이 지정되도록 지정합니다 test.txt.bak. 경고를 활성화하고 -w(실수나 오타가 있는 경우에 좋음) -e다음 텍스트가 실행하려는 코드임을 나타냅니다.

관련 정보