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

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

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

Старожил


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

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


есть list.txt
как разбить его на list01.txt, list02.txt ... по 50 строк?

т.е. если есть list.txt в котором 400 строк - то разбить его на 8 txt-файлов по 50 строк

Отправлено: 20:40, 29-08-2010

 

Ветеран


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

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


Цитата Marakas5:
имеется file.txt, »
Хорошо бы было упаковать его в архив и приложить к сообщению.

Цитата Marakas5:
который нужно разбить на равное количество строк »
Равное — это на сколько: надвое, натрое…?

Цитата Marakas5:
с этим я справился) »
Покажите Ваш код.

Цитата Marakas5:
их список построчно лежит в list.txt »
Аналогично: упаковать его в архив и приложить к сообщению.

Отправлено: 09:48, 10-11-2015 | #51



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

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


Новый участник


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

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


Вложения
Тип файла: zip list.zip
(597 байт, 5 просмотров)

Iska, спасибо за ваш ответ.
Цитата:
Равное — это на сколько: надвое, натрое…?
Извините, не уточнил - по 5 строк.
Цитата:
Покажите Ваш код
Код: Выделить весь код
setlocal enabledelayedexpansion
set q=0
set N=5
for /F "delims=   " %%i in (file.txt) do (
set /a q+=1
if !q! GTR !N! set /a N+=5
@echo %%i >> file!N!.txt
)
только он подглючивает, может заменить первый символ, добавляет пробелы в конце и в каждом файле создается лишняя строка, пока не понимаю как это побороть. Ну и сохранение тут работает в разные файлы, что не удовлетворяет условию задачи.
По поводу file.txt и list.txt - их содержимое может меняться, но пример я приложу.
Еще, возможно, это важный момент - исходный файл сохранен в UTF-8 и получившиеся файлы тоже должны быть в этой кодировке. И еще не уточнил, что в строках может встречаться символ "-", возможно, это важно.

Отправлено: 10:25, 10-11-2015 | #52


Ветеран


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

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


Цитата Marakas5:
Еще, возможно, это важный момент - исходный файл сохранен в UTF-8 »
А приложенный файл — в ANSI-1251. Как сие прикажете понимать?

Отправлено: 10:48, 10-11-2015 | #53


Новый участник


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

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


Вложения
Тип файла: zip list.zip
(723 байт, 5 просмотров)

Iska, вы помогли мне разобраться с интересной особенностью Notepad++ - в случае, если точка не стоит рядом с любой из строк "Кодировать в ...", то при попытке перекодировки ничего не происходит. В этом случае надо наживать "Преобразовать в..." и после этого уже можно кодировать. Не знал такого. Спасибо за ваше замечание.

Прикладываю исправленное.

Отправлено: 11:28, 10-11-2015 | #54


Аватара для blackeangel

Старожил


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

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


Разбил файл вот так,может кому нибудь пригодится
if exist "Port\boot\rmdisk\*.tmp" del /q Port\boot\rmdisk\*.tmp >nul
::1 файл
for /f "delims=[] tokens=1*" %%a in ('find /i /n "# Add by MTK" ^< "Port\boot\rmdisk\init.rc"') do (
bin\sed.exe -n "1,%%a p" Port\boot\rmdisk\init.rc >Port\boot\rmdisk\init_1.tmp
)
::2 файл
bin\sed.exe -n "/# Add by MTK/,/# End of adding by MTK drivers/ p" Stok\boot\rmdisk\init.rc >Port\boot\rmdisk\init_2.tmp
bin\sed.exe -i "/# Add by MTK/ d" Port\boot\rmdisk\init_2.tmp
bin\sed.exe -i "/# End of adding by MTK drivers/d" Port\boot\rmdisk\init_2.tmp
::3 файл
bin\sed.exe -n "/# End of adding by MTK drivers/, $p" Port\boot\rmdisk\init.rc > Port\boot\rmdisk\init_3.tmp


Хотя может есть предложения как сделать проще?

Отправлено: 16:20, 10-11-2015 | #55



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] как разбить один txt на несколько shadowbat Скриптовые языки администрирования Windows 7 05-10-2010 07:10
[решено] Вставить строчку из одного txt в оределённое место другого txt ZeroCrash AutoIt 7 13-07-2009 07:35
Shell. Чтение текстового файла по строкам. Delphin911 Общий по Linux 11 07-04-2005 17:58
Разбить винчестер Guest Microsoft Windows 2000/XP 9 01-03-2003 23:50
Разбить MP3 Rom K Хочу все знать 9 09-10-2002 12:45




 
Переход