대용량 텍스트 파일을 약 500단어 단위로 분할하는 방법은 무엇입니까?

대용량 텍스트 파일을 약 500단어 단위로 분할하는 방법은 무엇입니까?

split파일을 크기에 따라 청크로 분할하는 명령 과 wc단어 수를 세는 명령이 있다는 것을 알고 있습니다. 두 가지를 함께 사용하는 방법을 모르겠습니다.

답변1

완료하는 데 사용해야 합니까 wc? 왜냐하면여기나는 정규식을 csplit패턴으로 사용하려는 아주 좋은 시도를 발견했습니다. 지금은 테스트할 시스템이 없지만 정규식 자체가 해당 작업을 수행하는 것 같습니다.

표현은 다음과 같습니다.

 csplit input-file.txt '/([\w.,;]+\s+){500}/'

답변2

이 시도:

file=/etc/passwd
count=2
count_file_lines=$(wc -l < "$file")
split -n$((count_file_lines/count)) "$file"
ls -ltr x*

그러면 파일이 $count(2) 로 나뉩니다.

답변3

Unix 유틸리티는 일반적으로 전체 라인에서 작동하므로 가장 좋은 방법은 먼저 다음과 같이 한 줄에 한 단어가 기록되도록 입력을 수정하는 것입니다(단어에 다른 문자가 있는 경우 이 명령을 약간 수정해야 할 수도 있습니다).

<inputfile tr -c A-Za-z0-9 \\n

단어에만 관심이 있으므로 출력을 호출로 파이프하여 빈 줄을 제거하는 것이 좋습니다 grep. 전체 명령은 다음과 같습니다.

<inputfile tr -c A-Za-z0-9 \\n | grep -v '^$' | split -l 500

나중에 새 파일을 결합하여 모든 것이 한 줄로 돌아가도록 할 수 있습니다( 이와 같은 방법 사용 tr -d \\n). 그러나 Unix 도구로 더 많은 작업을 수행할 계획이라면 그대로 유지하십시오. split전체 줄을 실행할 수 있는 유일한 프로그램은 아닙니다. .

답변4

이 소프트웨어를 사용하여 분할된 단어 파일을 처리할 수도 있습니다. Word Files Splitter는 Word 파일의 페이지 또는 섹션 수에 따라 단일 Word 파일을 여러 Word 파일로 분할할 수 있는 탁월한 도구입니다.

http://www.windowindia.net/word-files-splitter.html

관련 정보