Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] разбить/разделить файл по количеству строк

Ответить
Настройки темы
CMD/BAT - [решено] разбить/разделить файл по количеству строк

Пользователь


Сообщения: 57
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Доброго времени суток
Хочу разделить большой текстовой файл файл на 100 частей по количеству строк
Придумал как это можно реализовать
Но не знаю можно ли и как в батниках умножать переменные
Вот примерно то что вижу

Code
Переменная x = Кол строк
Переменная n = x/100 (целое число)

Sed /1/n/d/ data.txt > 001.txt
Sed /n/n*2/d/ data.txt > 002.txt
Sed /n*2/n*3/d/ data.txt > 003.txt
.........
Sed /n*98/n*99/d/ data.txt > 099.txt
Sed /n*99/x/d/ data.txt > 100.txt

И еще вопрос можно ли чтоб вручную не писать шаг в каждой строке батника (цыфры на сколько множить)?

Отправлено: 18:32, 15-01-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата shmel_sv@vk:
можно ли и как в батниках умножать переменные »
Код: Выделить весь код
set /?

Отправлено: 18:35, 15-01-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 57
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


вот сделал битник, но не пойму как сделать количество строк дата.тхт в переменную x

Цитата:
Set x=2749400
set /a y=%x%/100

set /a n__001=%y%*1
set /a n__002=%y%*2
set /a n__003=%y%*3
set /a n__004=%y%*4
set /a n__005=%y%*5
set /a n__006=%y%*6
set /a n__007=%y%*7
set /a n__008=%y%*8
set /a n__009=%y%*9
set /a n__010=%y%*10
set /a n__011=%y%*11
set /a n__012=%y%*12
set /a n__013=%y%*13
set /a n__014=%y%*14
set /a n__015=%y%*15
set /a n__016=%y%*16
set /a n__017=%y%*17
set /a n__018=%y%*18
set /a n__019=%y%*19
set /a n__020=%y%*20
set /a n__021=%y%*21
set /a n__022=%y%*22
set /a n__023=%y%*23
set /a n__024=%y%*24
set /a n__025=%y%*25
set /a n__026=%y%*26
set /a n__027=%y%*27
set /a n__028=%y%*28
set /a n__029=%y%*29
set /a n__030=%y%*30
set /a n__031=%y%*31
set /a n__032=%y%*32
set /a n__033=%y%*33
set /a n__034=%y%*34
set /a n__035=%y%*35
set /a n__036=%y%*36
set /a n__037=%y%*37
set /a n__038=%y%*38
set /a n__039=%y%*39
set /a n__040=%y%*40
set /a n__041=%y%*41
set /a n__042=%y%*42
set /a n__043=%y%*43
set /a n__044=%y%*44
set /a n__045=%y%*45
set /a n__046=%y%*46
set /a n__047=%y%*47
set /a n__048=%y%*48
set /a n__049=%y%*49
set /a n__050=%y%*50
set /a n__051=%y%*51
set /a n__052=%y%*52
set /a n__053=%y%*53
set /a n__054=%y%*54
set /a n__055=%y%*55
set /a n__056=%y%*56
set /a n__057=%y%*57
set /a n__058=%y%*58
set /a n__059=%y%*59
set /a n__060=%y%*60
set /a n__061=%y%*61
set /a n__062=%y%*62
set /a n__063=%y%*63
set /a n__064=%y%*64
set /a n__065=%y%*65
set /a n__066=%y%*66
set /a n__067=%y%*67
set /a n__068=%y%*68
set /a n__069=%y%*69
set /a n__070=%y%*70
set /a n__071=%y%*71
set /a n__072=%y%*72
set /a n__073=%y%*73
set /a n__074=%y%*74
set /a n__075=%y%*75
set /a n__076=%y%*76
set /a n__077=%y%*77
set /a n__078=%y%*78
set /a n__079=%y%*79
set /a n__080=%y%*80
set /a n__081=%y%*81
set /a n__082=%y%*82
set /a n__083=%y%*83
set /a n__084=%y%*84
set /a n__085=%y%*85
set /a n__086=%y%*86
set /a n__087=%y%*87
set /a n__088=%y%*88
set /a n__089=%y%*89
set /a n__090=%y%*90
set /a n__091=%y%*91
set /a n__092=%y%*92
set /a n__093=%y%*93
set /a n__094=%y%*94
set /a n__095=%y%*95
set /a n__096=%y%*96
set /a n__097=%y%*97
set /a n__098=%y%*98
set /a n__099=%y%*99
set /a n__100=%y%*100

md data

sed "1,%n__001% !d" data.txt > data\0000.txt
sed "%n__001%,%n__002% !d" data.txt > data\0001.txt
sed "%n__002%,%n__003% !d" data.txt > data\0002.txt
sed "%n__003%,%n__004% !d" data.txt > data\0003.txt
sed "%n__004%,%n__005% !d" data.txt > data\0004.txt
sed "%n__005%,%n__006% !d" data.txt > data\0005.txt
sed "%n__006%,%n__007% !d" data.txt > data\0006.txt
sed "%n__007%,%n__008% !d" data.txt > data\0007.txt
sed "%n__008%,%n__009% !d" data.txt > data\0008.txt
sed "%n__009%,%n__010% !d" data.txt > data\0009.txt
sed "%n__010%,%n__011% !d" data.txt > data\0010.txt
sed "%n__011%,%n__012% !d" data.txt > data\0011.txt
sed "%n__012%,%n__013% !d" data.txt > data\0012.txt
sed "%n__013%,%n__014% !d" data.txt > data\0013.txt
sed "%n__014%,%n__015% !d" data.txt > data\0014.txt
sed "%n__015%,%n__016% !d" data.txt > data\0015.txt
sed "%n__016%,%n__017% !d" data.txt > data\0016.txt
sed "%n__017%,%n__018% !d" data.txt > data\0017.txt
sed "%n__018%,%n__019% !d" data.txt > data\0018.txt
sed "%n__019%,%n__020% !d" data.txt > data\0019.txt
sed "%n__020%,%n__021% !d" data.txt > data\0020.txt
sed "%n__021%,%n__022% !d" data.txt > data\0021.txt
sed "%n__022%,%n__023% !d" data.txt > data\0022.txt
sed "%n__023%,%n__024% !d" data.txt > data\0023.txt
sed "%n__024%,%n__025% !d" data.txt > data\0024.txt
sed "%n__025%,%n__026% !d" data.txt > data\0025.txt
sed "%n__026%,%n__027% !d" data.txt > data\0026.txt
sed "%n__027%,%n__028% !d" data.txt > data\0027.txt
sed "%n__028%,%n__029% !d" data.txt > data\0028.txt
sed "%n__029%,%n__030% !d" data.txt > data\0029.txt
sed "%n__030%,%n__031% !d" data.txt > data\0030.txt
sed "%n__031%,%n__032% !d" data.txt > data\0031.txt
sed "%n__032%,%n__033% !d" data.txt > data\0032.txt
sed "%n__033%,%n__034% !d" data.txt > data\0033.txt
sed "%n__034%,%n__035% !d" data.txt > data\0034.txt
sed "%n__035%,%n__036% !d" data.txt > data\0035.txt
sed "%n__036%,%n__037% !d" data.txt > data\0036.txt
sed "%n__037%,%n__038% !d" data.txt > data\0037.txt
sed "%n__038%,%n__039% !d" data.txt > data\0038.txt
sed "%n__039%,%n__040% !d" data.txt > data\0039.txt
sed "%n__040%,%n__041% !d" data.txt > data\0040.txt
sed "%n__041%,%n__042% !d" data.txt > data\0041.txt
sed "%n__042%,%n__043% !d" data.txt > data\0042.txt
sed "%n__043%,%n__044% !d" data.txt > data\0043.txt
sed "%n__044%,%n__045% !d" data.txt > data\0044.txt
sed "%n__045%,%n__046% !d" data.txt > data\0045.txt
sed "%n__046%,%n__047% !d" data.txt > data\0046.txt
sed "%n__047%,%n__048% !d" data.txt > data\0047.txt
sed "%n__048%,%n__049% !d" data.txt > data\0048.txt
sed "%n__049%,%n__050% !d" data.txt > data\0049.txt
sed "%n__050%,%n__051% !d" data.txt > data\0050.txt
sed "%n__051%,%n__052% !d" data.txt > data\0051.txt
sed "%n__052%,%n__053% !d" data.txt > data\0052.txt
sed "%n__053%,%n__054% !d" data.txt > data\0053.txt
sed "%n__054%,%n__055% !d" data.txt > data\0054.txt
sed "%n__055%,%n__056% !d" data.txt > data\0055.txt
sed "%n__056%,%n__057% !d" data.txt > data\0056.txt
sed "%n__057%,%n__058% !d" data.txt > data\0057.txt
sed "%n__058%,%n__059% !d" data.txt > data\0058.txt
sed "%n__059%,%n__060% !d" data.txt > data\0059.txt
sed "%n__060%,%n__061% !d" data.txt > data\0060.txt
sed "%n__061%,%n__062% !d" data.txt > data\0061.txt
sed "%n__062%,%n__063% !d" data.txt > data\0062.txt
sed "%n__063%,%n__064% !d" data.txt > data\0063.txt
sed "%n__064%,%n__065% !d" data.txt > data\0064.txt
sed "%n__065%,%n__066% !d" data.txt > data\0065.txt
sed "%n__066%,%n__067% !d" data.txt > data\0066.txt
sed "%n__067%,%n__068% !d" data.txt > data\0067.txt
sed "%n__068%,%n__069% !d" data.txt > data\0068.txt
sed "%n__069%,%n__070% !d" data.txt > data\0069.txt
sed "%n__070%,%n__071% !d" data.txt > data\0070.txt
sed "%n__071%,%n__072% !d" data.txt > data\0071.txt
sed "%n__072%,%n__073% !d" data.txt > data\0072.txt
sed "%n__073%,%n__074% !d" data.txt > data\0073.txt
sed "%n__074%,%n__075% !d" data.txt > data\0074.txt
sed "%n__075%,%n__076% !d" data.txt > data\0075.txt
sed "%n__076%,%n__077% !d" data.txt > data\0076.txt
sed "%n__077%,%n__078% !d" data.txt > data\0077.txt
sed "%n__078%,%n__079% !d" data.txt > data\0078.txt
sed "%n__079%,%n__080% !d" data.txt > data\0079.txt
sed "%n__080%,%n__081% !d" data.txt > data\0080.txt
sed "%n__081%,%n__082% !d" data.txt > data\0081.txt
sed "%n__082%,%n__083% !d" data.txt > data\0082.txt
sed "%n__083%,%n__084% !d" data.txt > data\0083.txt
sed "%n__084%,%n__085% !d" data.txt > data\0084.txt
sed "%n__085%,%n__086% !d" data.txt > data\0085.txt
sed "%n__086%,%n__087% !d" data.txt > data\0086.txt
sed "%n__087%,%n__088% !d" data.txt > data\0087.txt
sed "%n__088%,%n__089% !d" data.txt > data\0088.txt
sed "%n__089%,%n__090% !d" data.txt > data\0089.txt
sed "%n__090%,%n__091% !d" data.txt > data\0090.txt
sed "%n__091%,%n__092% !d" data.txt > data\0091.txt
sed "%n__092%,%n__093% !d" data.txt > data\0092.txt
sed "%n__093%,%n__094% !d" data.txt > data\0093.txt
sed "%n__094%,%n__095% !d" data.txt > data\0094.txt
sed "%n__095%,%n__096% !d" data.txt > data\0095.txt
sed "%n__096%,%n__097% !d" data.txt > data\0096.txt
sed "%n__097%,%n__098% !d" data.txt > data\0097.txt
sed "%n__098%,%n__099% !d" data.txt > data\0098.txt
sed "%n__099%,$ !d" data.txt > data\0099.txt

exit

Отправлено: 19:41, 15-01-2015 | #3


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


shmel_sv@vk,
Код: Выделить весь код
@echo off
setlocal

for /f %%i in ('sed -n "$=" file.txt') do (

	set /a "s=%%i/100"
	set "n=%%i"
	
)

set "cnt=10000"

for /l %%i in (1,%s%,%n%) do call:1 %%i
goto:eof

:1
set /a "cnt+=1"	
sed -n "%1,+%s% p" file.txt > split_%cnt:~-4%.txt"
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:07, 15-01-2015 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] разбить/разделить файл по количеству строк

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование строк в отдельный файл по условию Seryoga204 Скриптовые языки администрирования Windows 26 24-08-2016 23:33
C/C++ - Элементы матрицы четных строк разделить на максимальный элемент матрицы devl13 Программирование и базы данных 1 09-12-2013 21:26
Любой язык - [решено] Как разбить одну строку на много строк KooDI Скриптовые языки администрирования Windows 56 06-08-2013 23:26
CMD/BAT - поиск строк по шаблону и запись в отдельный файл AVTS Скриптовые языки администрирования Windows 4 13-07-2012 00:51
Поиск по локальной сети по контексту и по количеству символов. Dalretuo Программное обеспечение Linux и FreeBSD 1 15-01-2011 15:53




 
Переход