>

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

와이즈 비즈

(별은 중국어 알파벳을 나타냄)

영어 단어를 분리하여 다른 파일에 넣는 스크립트를 작성하고 싶습니다. sth는 스크립트 작성으로 가능합니까?

모든 제안은 환영합니다.

abominate********

abhor*************

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

  • 이전 process - 죽일 수없는 작업을 중단하는 방법 (인터럽터 블?)
  • 다음 스위치에 연결된 여러 라우터 — netctl을 사용하여 올바른 라우터에 연결하는 방법