스크립트를 통해 이중 언어 텍스트를 편집하는 방법은 무엇입니까?

스크립트를 통해 이중 언어 텍스트를 편집하는 방법은 무엇입니까?

다음과 같이 중국어 단어에 영어 단어가 붙어 있는 단어 열이 있습니다.

경멸감********

싫어하다**********

(별은 한자를 나타냅니다.)

영어 단어를 분리해서 다른 파일에 넣는 스크립트를 작성하고 싶습니다. 스크립팅을 통해 이와 같은 것을 달성할 수 있습니까?

어떤 제안이라도 환영합니다.

답변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

관련 정보