다음과 같이 중국어 단어에 영어 단어가 붙어 있는 단어 열이 있습니다.
경멸감********
싫어하다**********
(별은 한자를 나타냅니다.)
영어 단어를 분리해서 다른 파일에 넣는 스크립트를 작성하고 싶습니다. 스크립팅을 통해 이와 같은 것을 달성할 수 있습니까?
어떤 제안이라도 환영합니다.
답변1
물론 영어 단어는 라틴 문자를 사용하고 중국어 단어는 그렇지 않기 때문에 첫 번째 비라틴어 기호로 시작하는 줄의 끝을 제거하면 됩니다.
sed 's/[^a-zA-Z ].*//' < source-file > result-file
답변2
공백, 탭 또는 영어 문자를 제외한 모든 문자를 제거하기만 하면 됩니다.
sed 's/[^a-zA-Z ]//g' <source >result
유니코드 호환 모드를 사용할 때는 주의하세요.
추가 후처리를 수행할 수도 있습니다.
for i in $(cat result);do echo "$i";done|sort|uniq
알파벳순으로 정렬 result
하고 중복 항목을 제거합니다("the", "a" 및 "for"는 이 문서에 여러 번 나타날 수 있으며 그중 하나만 필요할 수 있습니다).
답변3
grep -Po '[\x00-\x77]+' source > justEN.txt