큰 txt 파일을 짧은 txt 파일로 나누고 싶습니다. 예를 들어 file.txt
이고 700MB이고 7 개 (100MB)로 나누고 싶습니다. txt 파일.큰 파일을 짧은 파일로 나누기
어떻게해야합니까? 텍스트 파일을 열지 않고 텍스트 파일의 내용을 변경하지 않고 분할하는 방법이 있습니까? 이 문제에 대해 알려진 알고리즘이 있다면 공유하십시오. 감사
큰 txt 파일을 짧은 txt 파일로 나누고 싶습니다. 예를 들어 file.txt
이고 700MB이고 7 개 (100MB)로 나누고 싶습니다. txt 파일.큰 파일을 짧은 파일로 나누기
어떻게해야합니까? 텍스트 파일을 열지 않고 텍스트 파일의 내용을 변경하지 않고 분할하는 방법이 있습니까? 이 문제에 대해 알려진 알고리즘이 있다면 공유하십시오. 감사
간단한 방법 -
는 파일 길이를 가져옵니다
가 만들려는 얼마나 많은 파일을 참조하십시오 청크 크기를 결정 - (N = 파일 길이/청크 크기). 나머지가 있으면 파일 수는 n + 1이됩니다.
파일을 읽기 모드로 엽니 다.
쓰기 모드로 파일을 만듭니다.
청크 번호 (또는 나머지는 < 청크 크기 인 경우 남은 바이트)를 파일에 쓰고이 파일을 닫습니다.
n 조각에 대해 4-5를 반복한다.
당신이 유닉스
에있는 경우split -b100m filename part
이 parta,을 partB, partc 등으로 파일 이름을 분할합니다
는 표준 유닉스 솔루션은 split
을 사용하는 것입니다 :
split -C 100M input.txt
-C
분할을 바이트/문자 대신 줄로 나누십시오. 특정 바이트로 분할하려는 경우 -b
을 대신 사용하십시오.
경우에 따라 크기 및 줄 수 (경우에 따라 필요함)로 분할하는 옵션을 모두 갖고 Windows 환경에있는 경우 GSplit이라는 프로그램을 사용할 수 있습니다. 한 번이 문제가 있었고 그것은 나를 위해 일했습니다. 다운로드 할 수 있습니다.
유닉스에 있지 않은 경우 Perl 배포판에 분할 유틸리티가 포함되어 있습니다. 줄 분리에 -l을 사용합니다.
파일 크기가 청크 크기로 균등하게 나눌 수없는 경우 최종 조각에 대해 무엇을 권하고 싶습니까? –
@ Gryry - 그래.하지만 OP가 위에 구현할 수있게되면 감지 할 수 있어야합니다. P .. 진지한 메모 - 수정 중 – Nrj
고마워요. 꼬리 상태를 처리하는 것은 항상 나를 위해 성가신되었습니다. –