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

Компьютерный форум 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

 

Аватара для blackeangel

Старожил


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

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


Georgio, спасибо огромное )))

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Отправлено: 09:59, 07-11-2015 | #31



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

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


Аватара для blackeangel

Старожил


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

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


Georgio, а скажите есть в бат какая нибудь команда типа for из c# ?

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Отправлено: 18:07, 07-11-2015 | #32


Ветеран


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

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


blackeangel, если имеется ввиду инкрементация:
Код: Выделить весь код
for /l %%i in (0,1,9) do echo %%i

Отправлено: 18:28, 07-11-2015 | #33


Аватара для blackeangel

Старожил


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

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


Georgio, ваш код по разбитию не работает правильно...он выдает 3 файла:
1- как оригинал,2 и 3 пустые.
Я привел его к такому вот виду
Код: Выделить весь код
@echo off

set "file=init.rc"
set "marker_1=#Camera"
set "marker_2=#/dev/RT_Monitor"

for /f "delims=:" %%i in ('
 2^>nul (findstr/iln /c:"%marker_1%" /c:"%marker_2%" "%file%"^& ^<"%file%" find/c /v ""^)
') do (
 if not defined x (set x=%%i) else (if not defined y (set y=%%i) else (set z=%%i))
)
for %%i in ("%file%") do <%%i (
 for %%? in (1 2 3) do 2>nul del "%%~ni_%%?%%~xi"
 for /l %%j in (1 1 %z%) do (
  if %%j leq %x% (set n=1) else (if %%j lss %y% (set n=2) else (set n=3))
  for /f %%k in ('set/a n') do (
   set x=& set/p x=& >>"%%~ni_%%k%%~xi" (
   if defined x (cmd/v/c echo.!x!) else (echo.)
   )
  )
 )
)

exit/b
прилагаю то что получил на выходе+оригинал

Последний раз редактировалось blackeangel, 03-04-2017 в 22:53.


Отправлено: 19:09, 07-11-2015 | #34


Аватара для blackeangel

Старожил


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

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


Foreigner, нет,что то типа
Код: Выделить весь код
::находим строки начала и конца
for /f "delims=[] tokens=1*" %%b in ('find /i /n "#Camera" ^< "init.rc"') do 
for /f "delims=[] tokens=1*" %%c in ('find /i /n "#/dev/RT_Monitor" ^< "init.rc"') do 
::содержимое между ними кидаем в новый файл
for /l %%a=%%b in (%%b,1,%%c) do echo %%a>>1.txt
но оно не работает

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Последний раз редактировалось blackeangel, 07-11-2015 в 19:26.


Отправлено: 19:16, 07-11-2015 | #35


Ветеран


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

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


Цитата blackeangel:
но оно не работает »
А должно? Нет такого, как в сишарп. Юзайте powershell, тем более если знакомы с C#. Поясните ваш пример, иначе он бессмысленный.

Отправлено: 19:29, 07-11-2015 | #36


Ветеран


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

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


Цитата blackeangel:
нет,что то типа »
Код: Выделить весь код
for /l %%a in (%b%,1,%c%) do echo %%a>>1.txt
Но это просто выведет последовательность чисел от «%b%» до «%с%» с шагом «1» в файл «1.txt», а вовсе не то, что Вы явно планировали получить.

Давайте начнём с простого и понятного: упакуйте образец исходного файла в архив, выложите архив на RGhost. Опишите потребную задачу полностью — без учёта:
Цитата blackeangel:
(так как переменные получаются по найденым словам в тексте и их номера строк) »
а с самого начала.

Отправлено: 19:29, 07-11-2015 | #37


Аватара для blackeangel

Старожил


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

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


Iska, задача проста-заменить абзац текста из одного файла в другом по 2м меткам которые уже писались парой постов выше в коде.То есть они этих файлах присутствуют.Файл я прикладывал там же где и код(большой который).Реализовать это на батнике нереально, поэтому решил обойти это в 4 шага.
1.Из первого файла диапазон между метками отправить в новый файл
2.Второй файл разбить на 3 части ( по условию что писалось на предыдущей стр)
3. Заменить одну часть на файл из п.1
4. Соединить всё в новый файл который нужен
Самое сложное оказались первые 2 пункта..

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Отправлено: 19:43, 07-11-2015 | #38


Ветеран


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

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


Цитата blackeangel:
нет,что то типа »
Код: Выделить весь код
sed -n "/#Camera/,/#\/dev\/RT_Monitor/ p"  init.rc | sed -r "/^.+#.+$/ d" > другой_файл
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:12, 07-11-2015 | #39


Аватара для blackeangel

Старожил


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

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


Foreigner, sed это программа, так понимаю, для поиска и замены текста?

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Отправлено: 20:36, 07-11-2015 | #40



Компьютерный форум 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




 
Переход