문서에서 단어 목록 만들기

문서에서 단어 목록 만들기

나는 새로운 언어로 어휘를 배우는 효율적인 방법을 찾으려고 노력하고 있습니다. 책이 포함된 파일을 사용하여 단어 목록을 만들고 싶습니다. 저는 Linux를 처음 접했고 도움을 주시면 대단히 감사하겠습니다.

제 생각에는:

  • 텍스트 파일(예: txt 형식)을 입력으로 사용하고 첫 번째 파일의 모든 단일 단어 목록이 포함된 다른 파일을 출력하는 명령이 있습니다.

  • 새 파일은 알파벳순으로 정렬되어야 하며 중복된 내용이 없어야 합니다(각 단어는 한 번만 포함되어야 합니다).

  • 이상적으로는 명령이 두 번째 파일을 확인하고 해당 파일에 포함된 단어가 중복되는 것을 방지할 수 있어야 합니다. (이렇게 하면 내가 이미 알고 있고 반복하지 않을 파일이나 단어를 만들 수 있습니다.)

이를 수행하는 데 적합한 명령이 있습니까?

답변1

"단어"가 일련의 단어로 정의된 경우"말이 성격을 만든다"(보통 문자, 숫자 및/또는 밑줄로 정의됨) 그런 다음 GNU를 사용하여 원하는 작업을 수행할 수 있습니다 awk.sort

awk -v RS='\\W+' 'ARGIND==1{arr[$0]; next} !($0 in arr)' skip file | sort -u

skipfile인쇄하고 싶지 않은 책이 포함된 단어 파일은 어디에 있습니까 ?

\W그냥 약어입니다 [^[:alnum:]_]. 다만, "단어"에 대한 정의에 숫자가 포함되어 있지 않으면 로 변경하고 RS='\\W+', RS='[^[:alpha:]_]+'아포스트로피와 하이픈이 포함되어 있으면 로 변경 하거나, 여러분이 생각하는 문자 집합 정의의 부정과 일치하도록 RS="[^[:alpha:]_'-]+"변경하세요. RS다른 내용의 단어를 구성합니다."

awk를 배우려면 Arnold Robbins의 Effective AWK 프로그래밍 5판을 읽어보세요.

관련 정보