Разделить txt файл на несколько частей. Batch-file файла текстового - Разделить текстовый файл на несколько текстовых файлов с помощью командной строки

22.04.2019

Компьютерные программы становятся все сложнее, фильмы все более качественными, а игры получают улучшенную графику. Все это ведет к тому, что размеры файлов повышаются, и если фильм в небольшом разрешении 360p или 720p без проблем можно передать с компьютера на компьютер, то когда разрешение добралось до 4K, сделать это стало сложнее. В подобной ситуации необходимо разделить файл на части, а после его соединить обратно. Сделать это можно несколькими способами, но первым делом мы предлагаем разобраться с ситуациями, в которых может потребоваться разбитие файла на несколько частей.

Зачем делить файл на части?

С приходом внешних жестких дисков у многих отпала необходимость разбивать крупные файлы на части. Большие файлы без проблем можно загрузить на вместительный внешний носитель, а после перенести их с него на другой компьютер. Но бывают ситуации, в которых необходимо разбить файл на несколько частей, и вот лишь некоторые из них:


Мы привели лишь три самых распространенных ситуации, в которых может понадобиться разбить большой файл на несколько частей. В узкоспециализированных областях могут быть и другие причины, к примеру, может понадобиться разделить файл, чтобы обеспечить дополнительную безопасность и невозможность доступа к нему без объединения всех частей в одну. Предлагаем рассмотреть два самых простых способа разделения большого файла на несколько частей.


Самый распространенный и простой способ разбить файл на несколько частей – это использовать программу-архиватор WinRar. Данный способ наиболее прост, поскольку программа WinRar установлена на большинстве компьютеров, и собрать по частям разделенный файл несложно, также как и «порезать» его. Обратите внимание, что для выполнения указанных ниже инструкций требуется установленная программа WinRar.

Чтобы разделить файл на части в программе WinRar необходимо:


Как объединить файлы, разделенные в программе WinRar на части:


Как можно видеть, процесс разделения файла на части с помощью программы WinRar довольно простой. К его плюсам можно отнести архивацию выбранных файлов, то есть по окончанию разбития на части они весят меньше, чем оригинальный объект. Это позволяет разделить файл на меньшее количество частей.

Как разделить файл на части с помощью Total Commander?

Не менее известной программой, чем WinRar, среди опытных пользователей компьютеров является Total Commander. Программа используется в различных целях, в том числе и для работы с файлами и папками на компьютере. Она позволяет с легкостью разделить файл на части, нажав несколько кнопок.

Чтобы разделить файл на части в программе Total Commander следует:


Как объединить файлы, разделенные в программе Total Commander на части:


В отличие от WinRar, программа Total Commander не занимается архивацией файлов, а это значит, что части файла суммарно займут примерно столько же места, сколько отдельный объект. Однако у Total Commander имеется одно серьезное преимущество – он значительно быстрее, чем WinRar, делит файлы на части и собирает их воедино, что полезно при работе с большим объемом информации.

И звестно, что слишком большой размер файла может стать препятствием для выполнения некоторого рода задач. Например, проблемы могут возникнуть при передаче таких файлов через Интернет или записи на оптические носители, также с неудобствами приходится сталкиваться при их перемещении или копировании. В таких случаях может помочь разделение одного большого файла на несколько частей. Самый простой, но не самый удобный способ «порезать» файл на куски заключается в использовании обычного архиватора. Минус такого подхода заключается в обязательном наличии архиватора, поддерживающего запаковку без сжатия. Правда есть у этого способа и свои положительные стороны, взять, к примеру, ту же возможность защиты данных паролем. И все же для разбиения больших файлов лучше использовать специальные утилиты.


Удобная и легкая в использовании программка для разделения и объединения файлов. Бесплатна, имеет простой, русифицированный интерфейс, отличается неплохой скоростью работы. Поддерживает два основных режима работы – разделение с созданием самосклеивающихся частей и разделение с созданием командного файла. Для объединения отдельных частей наличие программы на другом компьютере необязательно. В первом случае для объединения служит автономный exe-файл, во втором – обычный «батник». Размер части может задаваться вручную в байтах. К сожалению, Cutter не умеет разделять файлы размером более 2 Гб и это является ее основным недостатком. Утилита доступна для скачивания на сайте разработчика cutter22.chat.ru

В отличие от предыдущей программы SplitFiles легко справляется с файлами более 2 Гб. Имеется поддержка русского языка. Размер частей можно установить в байтах, килобайтах, мегабайтах и гигабайтах. Поддерживается интеграция в контекстное меню Проводника, удаление исходного файла по завершении операции разделения, использование сжатия ZIP. Основных режима работы два – разделение с созданием командного файла и простое разделение. Во втором случае для сборки файла на другом компьютере потребуется установка SplitFiles. Скачать утилиту можно на сайте разработчика www.altarsoft.com . При установке может подгружать стороннее ПО, например, элементы Яндекса.

Согласно утверждениям разработчиков, HJSplit способна разделять файлы размером более 100 Гб. Утилита имеет малый вес, не требует установки, поддерживается разными операционными системами, то есть является мультиплатформенной. При разделении размер можно указать в килобайтах и мегабайтах.

Работает HJSplit несколько медленней, нежели SplitFiles и Cutter. Возможность создания командных файлов и самосклеивающихся блоков в утилите отсутствует. Из дополнительных возможностей стоит отметить сравнение файлов, а также расчет контрольных сумм по алгоритму MD5. HJSplit имеет простой модульный интерфейс на английском языке. Загрузить программку можно с официального сайта

Простая с красочным настраиваемым графическим интерфейсом программка для разделения файлов. При разделении файла можно задать размер частей байтах, мегабайтах или килобайтах либо же просто указать количество блоков, на которое должен быть разбит объект. Отличается неплохой скоростью работы, легко справляется с большими файлами.
К сожалению, для объединения частей вам также придется использовать WinMend File Splitter. В процессе разделения утилита создает bat-файл, который по идее должен использоваться для объединения блоков, только вот почему-то он не работает. Отсутствие возможности склеивания частей без необходимости установки утилиты является основным ее недостатком. Также в программе нет поддержки русского языка. Скачать этот разделитель можно сайта разработчика www.winmend.com

Портативная бесплатная утилита с агрессивным названием. Предназначается для разделения и склеивания больших файлов. Утилита отличается минималистским интерфейсом с поддержкой русского языка, возможностью выбора формата для собираемого файла. Но самой интересной особенностью Piranja является сборка файла из его частей, находящихся в разных разделах или папках жесткого диска. Скачать программку можно с сайта disketa.info . Главный недостаток Piranja – отсутствие возможности создания командных файлов для автоматической склейки. А еще Piranja не подходит для разделения файлов, тип которых не указан в списке поддерживаемых форматов. Утилита без проблем разрежет и соберет файл, только вот после сборки и присвоения исходного расширения открытие такого файла может завершиться ошибкой.

Возможностей классического Проводника Windows вполне достаточно для управления файлами и папками. Ориентироваться в файловой системе можно с помощью древа каталогов и поиска, единственное, чего недостает Проводнику - это...

2018-12-04T00:00Z

Эта программа командной строки Windows «Файл Splitter» работает хорошо: https://github.com/dubasdey/File-Splitter

Он с открытым исходным кодом, прост, документирован, проверен и работает для меня.

Fsplit -split 50 mb mylargefile.txt

2018-12-11T00:00Z

Возможно, вы можете сделать что-то подобное с awk

Awk "{outfile=sprintf("file%02d.txt",NR/5000+1);print > outfile}" yourfile

В принципе, он вычисляет имя выходного файла, беря номер записи (NR) и деля его на 5000, добавляя 1, беря целое число этого и нулевое дополнение к 2 местам.

По умолчанию awk печатает всю входную запись, когда вы ничего не укажете. Таким образом, print > outfile записывает всю входную запись в выходной файл.

Когда вы работаете в Windows, вы не можете использовать одинарные кавычки, потому что это не нравится. Я думаю, вы должны поместить скрипт в файл, а затем сказать awk использовать файл, что-то вроде этого:

Awk -f script.awk yourfile

и script.awk будет содержать скрипт следующим образом:

{outfile=sprintf("file%02d.txt",NR/5000+1);print > outfile}

Или это может сработать, если вы это сделаете:

Awk "{outfile=sprintf(\"file%02d.txt\",NR/5000+1);print > outfile}" yourfile

2018-12-18T00:00Z

Вот пример в C # (потому что это то, что я искал). Мне нужно было разделить 23 ГБ csv-файл с примерно 175 миллионами строк, чтобы иметь возможность просматривать файлы. Я разделил его на файлы по миллиону строк. Этот код сделал это примерно через 5 минут на моей машине:

Var list = new List(); var fileSuffix = 0; using (var file = File.OpenRead(@"D:\Temp\file.csv")) using (var reader = new StreamReader(file)) { while (!reader.EndOfStream) { list.Add(reader.ReadLine()); if (list.Count >= 1000000) { File.WriteAllLines(@"D:\Temp\split" + (++fileSuffix) + ".csv", list); list = new List(); } } } File.WriteAllLines(@"D:\Temp\split" + (++fileSuffix) + ".csv", list);

2018-12-25T00:00Z

Я знаю, что вопрос был задан давно, но я удивлен, что никто не дал самый простой ответ unix:

Split -l 5000 -d --additional-suffix=.txt $FileName file

  • -l 5000: разбивать файл на файлы по 5000 строк каждый.
  • -d: числовой суффикс. Это заставит суффикс перейти от 00 до 99 по умолчанию вместо aa в zz.
  • --additional-suffix: позволяет указать суффикс, здесь расширение
  • $FileName: имя файла, подлежащего разделению.
  • file: префикс для добавления к результирующим файлам.

Как и прежде, ознакомьтесь с разделом man split для получения более подробной информации.