|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Разбить тхт файл не только по строкам, но и по папкам |
|
|
CMD/BAT - Разбить тхт файл не только по строкам, но и по папкам
|
Новый участник Сообщения: 20 |
В замечательной теме раскрывается вопрос, как разбить большой тхт файл на много мелких по кол-ву строк
Моя задача чуть шире. Есть файл на 10 млн строк. Мне нужно получить 100 папок, в каждой по 100 файлов тхт, в каждом файле по 1000 строк из стартового файла. Названия папок 1,2,3,4,5,...,100 Названия файлов 1.txt, 2.txt, 3.txt, ..., 100.txt Кто-нибудь может помочь с этой непосильной для меня задачей? |
|
Отправлено: 15:15, 11-07-2018 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Iska, а есть какое-нибудь регулярное выражение для такого случая?
|
Отправлено: 09:10, 12-07-2018 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Abricosio, чем Вас текущее состояние не устраивает?
|
Отправлено: 16:51, 13-07-2018 | #22 |
Забанен Сообщения: 795
|
А не лучше будет в таких запущенных случаях(миллионы строк) отдать разбивку норм. проге на Цэ\Цэ++ - тот же Winrar , а потом собирать уже скриптом.
Ну т.е. отдать Winrar-у этот "миллионнострочный_файл" и нехай он его разбивает на фрагменты по 300kb(или скокатам получаеццо размер файла из 1000 строк). А потом эти фрагменты разложить по-папкам. ![]() |
Отправлено: 17:52, 13-07-2018 | #23 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата x0r:
![]() не лучше... вернее, чем лучше? хорошо, вот полный тест: $watch = [diagnostics.stopwatch]::startnew() $watch.start() $cnt = 10000000 $str = new-object text.stringbuilder for($k=1;$k -le $cnt; $k++){ $null = $str.append("строка для теста`r`n") } ($str.tostring()).trim()|sc test.txt -enc utf8 $fl = 'test.txt' $root = 'root' if (!(test-path $root)){md $root|out-null} gc $fl -read 1000 -enc utf8|%{$i,$n=1,1;$tmp = "$root\$n"}{ if(!(test-path $tmp)){md $tmp|out-null} set-content -path "$tmp\$i.txt" -val $_ -enc utf8 switch ($i) { 100 {$n++;$i=0;$tmp = "$root\$n"} } $i++ } $watch.stop() $watch.elapsed >timelog.txt - это достаточно вменяемые цифры |
|
------- Последний раз редактировалось YuS_2, 13-07-2018 в 20:49. Отправлено: 20:39, 13-07-2018 | #24 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] разбить файл на много файлов по шаблону и каждый файл положить в папку | Mezolick | Скриптовые языки администрирования Windows | 3 | 03-02-2017 08:38 | |
CMD/BAT - [решено] разбить по строкам txt | shadowbat | Скриптовые языки администрирования Windows | 54 | 10-11-2015 16:20 | |
CMD/BAT - [решено] Разбить txt файл по строкам и файлам | Acred | Скриптовые языки администрирования Windows | 9 | 12-10-2015 18:08 | |
Router - [решено] Есть подключение по Wi-Fi, но интернет - только по кабелю. | roniro | Сетевое оборудование | 7 | 17-09-2013 13:54 | |
Router - [решено] Подключение к роутеру по Wi-Fi есть, но интернет-только по кабелю. | roniro | Сетевое оборудование | 4 | 06-10-2012 19:20 |
|