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

Как разделить текстовый файл построчно

В порядке предпочтения/простоты использования и убывания приоритета:

 

1. С помощью Windows Powershell

Команда в одну строчку:

 

gc file.txt -readcount 1000 | ForEach-Object { $i=0 } { $_ | Out-File "new_file${i}.txt"; $i++}

 

gc - сокращенный вариант команды GetContent (чтение файла);

file.txt - исходный многострочный файл, который нужно разделить на несколько с меньшим количеством строк;

1000 - число строк в каждом файле на выходе;

new_file${i}.txt - маска для имени файлов на выходе, вместо ${i} будет инкремент числа от 0 и далее.

Как разделить текстовый файл построчно

Это самый простой и быстрый вариант, причем Powershell легко справится с большими файлами (2 миллиона строк и более).

Условие: пользователь должен хоть чуть-чуть дружить с командной строкой.

Дальше можно не читать :)

 




  

 

2. С помощью BAT-файла

Создать текстовый файл со следующим содержимым:

Как разделить текстовый файл построчно

Сохранить его с расширением BAT в пустую папку. Скопировать в эту же папку текстовый файл, который необходимо разделить на части, указав его название (см. 3 срочку) и нужное количество строк в финальных результирующих файлах (см. 5 срочку). Сохранить изменения в BAT-файле.

Запустить BAT-файл и дождаться окончания работы.

Чтобы вручную не набирать текст батника, его содержимое:

 

@Echo Off
SetLocal enabledelayedexpansion
Set list=big_text_file.txt
REM ## Количество строк в выходных файлах:
Set str=500

Set Num=%str%& Set File=0
For /F "tokens=* usebackq delims=" %%i In ("%list%") Do (
Set /a Num+=1
If !Num! GEQ %str% (
Set Num=0
Set /a File+=1
Set nFile=0!File!
Set nFile=!nFile:~-2!
Echo %%i>New_File!nFile!.txt
) Else Echo %%i>>New_File!nFile!.txt
)
Pause
Exit

 

 

3. С помощью Windows-приложения

Есть несколько таких программ - как бесплатных, так и платных.

Возможно, позже будут приведены примеры.

 

 

4. С помощью Web-приложения

Есть сайты, которые предлагают различные действия по форматированию и обработке файлов.

Некоторые из них при проверке совсем отказались работать, один отработал вроде бы корректно, но скачивать по-одному 30 текстовых файлов совсем не радовало - разработчики данного сервиса могли бы добавить архивирование пакета файлов в один, чтобы было удобно скачивать результат.

Как разделить текстовый файл построчно

Также при использовании больших файлов - размером 100 Мб и более может быть проблемс с загрузкой - она может оборваться в процессе из-за нестабильного или низкоскоростного интернет-соединения, или у сервера параметр "max_upload_size" установлен на меньшее значение, чем ваш файл.

Еще один минус онлайн-сервисов - не стоит загружать на непонятно чьи сайты свои важные и конфиденциальные файлы. 

 

Комментарии (3)

This comment was minimized by the moderator on the site

а куда должны сохраниться файлы ?

This comment was minimized by the moderator on the site

а куда должны сохраниться файлы ?

В исходную папку (если пробуете вариант №1). Только имя файла надо указать отличное от исходного

This comment was minimized by the moderator on the site

А сколько будет вторым вариантом обрабатываться файл на 20-30 млн строк по времени примерно ?
И как понять что процесс успешно запустился ? У меня прост cmd после запуска висит со строчкой нажать любую кнопку для выхода

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

  1. Опубликовать комментарий как Гость.
0 Значки
Вложения (0 / 3)
Поделитесь своим местоположением

      Программа для офисного бездельника
      Программа для офисного бездельника

      "Ура!" - воскликнут дружно все офисные лодыри и бездельники. Ведь для них создана специальная программа для имитации бурной деятельности (ИБД). То есть теперь можно, запустив эту программу, сидеть перед компьютером и ничего не делать. Отмазка по поводу безделья есть: "Осуществляется важный процесс, который нельзя прерывать!".




      Идентификаторы применения в УПД
      Идентификаторы применения в УПД

      При передаче товаров, подлежащих маркировке, в универсальном передаточном документе (УПД), кроме стандартной бухгалтерской информации о контрагентах, товаре, цене, количестве и пр..., должны фигурировать коды маркировки данных товаров. Но все так просто - эти коды должны быть только в УПД в формате XML, в печатном PDF-файле их не должно быть.




      Как переустановить сетевой протокол TCP IP
      Как переустановить сетевой протокол TCP IP

      При установке в составе какой-нибудь сборки Windows иногда может некорректно установиться сетевой протокол TCP IP. В этом случае нужно его переустановить, и по-другому просто никак. Как же переустановить сетевой протокол TCP IP? - без небольших "танцев с бубном" этого не сделать.




      Wi-Fi роутер и локальная сеть Novell
      Wi-Fi роутер и локальная сеть Novell

      Вариантов организации локальной сети может быть очень много. У каждого из них - свои особенности и настройки. В этой статье рассматривается только вариант настройки Wi-Fi роутера на примере Apple Airport Extreme для локальной сети, организованной с помощью Novell. В принципе, в данном примере вместо роутера Apple Airport Extreme может фигурировать любой другой роутер, и не обязательно яблочный, принцип...




      В скайпе вирус
      В скайпе вирус

      В мае 2011 года компания Microsoft купила Skype. Многие пользователи этой программы не особо были рады этому событию, некоторые из них громко сказали "Фу!" Но, тем не менее, я лично не знаю ни одного человека, который перестал пользоваться программой Skype после смены владельца.




      HEADERS из POSTMAN в виде текста
      HEADERS из POSTMAN в виде текста

      Если в процессе тестирования API необходимо сохранять из POSTMAN результаты запросов, в том числе headers в виде текста, но можно это делать с помощью консоли Postman (если вариант со скриншотами не подходит по какой-то причине :).




      Advego Plagiatus - проверка уникальности текстов
      Advego Plagiatus - проверка уникальности текстов

      Advego Plagiatus - замечательная программа с интуитивно понятным интерфейсом, предназначенная для поиска в Интернете частичных или полных копий текста. Например, написал ты статью - а, оказывается, она уже давным-давно размещена в Интернете на каком-то сайте и написана практически такими же словами :) И, так вот, чтобы не ударить "грязью в лицо", статью эту нужно предварительно проверить на...



Яндекс.Метрика
Сайт работает на быстром VPS/VDS хостинге от FASTVPS