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

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

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

 

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" установлен на меньшее значение, чем ваш файл.

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

 

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

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

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

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

      File Cache Storage не поддерживается
      File Cache Storage не поддерживается

      После обновления Joomla до версии 3.6 или после чистой установки Joomla 3.6 возможно получения ошибки как на самом сайте (FrontEnd), так и в админке (BackEnd) сообщения об ошибке: Error displaying the error page: The file Cache Storage is not supported on this platform. Ситуация не приятная, но не все потеряно, и это можно легко исправить.




      Окончание срока действия сертификата Jeppesen FDPro
      Окончание срока действия сертификата Jeppesen FDPro

      По причине не простой процедуры получения эксплуатационного одобрения по использованию EFB в некоторых странах и необходимости конкретно указывать номер версии используемого в EFB ПО для программ Типа A и Типа B, Jeppesen с помощью Apple реализовал возможность использовать определенную версию программы Jepp FP PRO без обновления до крайней версии. Но у этого метода есть один серьезный недостаток - программа,...




      xCode - UIKeyboardTaskQueue may only be called from the main thread
      xCode - UIKeyboardTaskQueue may only be called from the main thread

      Если xCode при компиляции проекта ругается на часть кода и выдает ошибку, например, такую:    Thread 4: Exception: -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.   Это означает, что данный кусок кода должен выполняться в главном потоке, а не в дополнительном.




      Настройка статического IP-адреса на Linux Debian 9
      Настройка статического IP-адреса на Linux Debian 9

      Иногда необходимо самостоятельно изменить IP-адрес сервера. Все мануалы и "полезные статьи" в интернете указывают, что нужно всего-то внести изменения в файл сетевых настроек: etc/network/interfaces Но нигде это не написано главного, и все статьи в интернете не принимают в расчет конкретный номер версии операционной системы Debian и разные варианты реализации сетей!




      Apple MDM - использование iOS-устройств на предприятии
      Apple MDM - использование iOS-устройств на предприятии

      Устройства iPad и iPhone способны трансформировать бизнес компании и методы работы сотрудников организации. Эти устройства могут существенно повысить продуктивность, дать свободу действий и дополнительный запас гибкости, позволив работать по-новому, не так, как раньше. Новый подход к выполнению рабочих обязанностей идёт на пользу всей организации.




      SWIFT - отправка по email
      SWIFT - отправка по email

      В любом iOS-приложении легко можно реализовать отправку данных по e-mail. Для этого нужно сделать следующее:




      Как скопировать код экземпляра устройства?
      Как скопировать код экземпляра устройства?

       Код экземпляра устройства (vendor code) электронного оборудования или компонента позволяет узнать - какой именно производитель создал данное оборудование (hardware). Владение информацией о коде экземпляра устройства позволяет найти драйверы именно для этого устройства, реально совместимые с ним.



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