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

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

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

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


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

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


Помогите реализовать такую задачу:
Есть файл Temp.txt со строками к примеру:
1x Temp Temp
1x Temp Temp
2x Temp Temp
2x Temp Temp

Каждый столбик разделен табуляцией.
Как его разбить на два файла, чтоб получилось:
1x.txt со строками:
1x Temp Temp
1x Temp Temp
2x.txt
со строками:
2x Temp Temp
2x Temp Temp

Отправлено: 10:33, 09-10-2015

 

Забанен


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

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


Код: Выделить весь код
@findstr /rc:"^1" temp.txt>1x.txt
@findstr /rc:"^2" temp.txt>2x.txt
Это сообщение посчитали полезным следующие участники:

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



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

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


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


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

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


Отлично! а если мне ну нужно, к примеру, из всех столбцов взять только первый и третий?

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


Забанен


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

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


Код: Выделить весь код
@echo off
  call:findStrings 1 temp.txt
  call:findStrings 2 temp.txt
exit /b

:findStrings
for /f "tokens=1,3" %%i in ('findstr /rc:"^%1" %2') do (
  echo:%%i %%j>>%1.txt
)
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:04, 09-10-2015 | #4


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


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

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


Просто шикарно! Все работает!
А как за место 1x,2x использовать кириллицу?

Отправлено: 12:36, 09-10-2015 | #5


Забанен


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

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


temp.txt (cp1251):
1А тест текст
1Б текст тест
2А альфа бета
2Б бета альфа

Код: Выделить весь код
@echo off
  chcp 1251>nul
    call:findStrings 1 foo
    call:findStrings 2 foo
  chcp 866>nul
exit /b

:findStrings
for /f "tokens=1,3" %%i in ('findstr /rc:"^%1" %2') do (
  echo:%%i %%j>>%1.txt
)
exit /b

Отправлено: 12:56, 09-10-2015 | #6


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


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

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


Спасибо большое!

Отправлено: 13:32, 09-10-2015 | #7


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


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

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


Подскажите пожалуйста как сделать если нужно взять четыре столбика причем в порядке 4,2,3,1
И еще вопрос как это дело все ускорить
Исходный файл весит 10мб он обрабатывает это все 20-30 минут

Отправлено: 15:02, 12-10-2015 | #8


Ветеран


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

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


Код: Выделить весь код
@echo off
>nul chcp 1251
set "d=	"
for /f "usebackq tokens=1-4 delims=%d%" %%i in ("Temp.txt") do >>"%%i.txt" echo.%%l%d%%%j%d%%%k%d%%%i
exit/b
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:50, 12-10-2015 | #9


Ветеран


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

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


Цитата Acred:
И еще вопрос как это дело все ускорить
Исходный файл весит 10мб он обрабатывает это все 20-30 минут »
Перейти к использованию WSH/PoSH.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:08, 12-10-2015 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] разбить по строкам txt shadowbat Скриптовые языки администрирования Windows 54 10-11-2015 16:20
CMD/BAT - [решено] разбить/разделить файл по количеству строк shmel_sv@vk Скриптовые языки администрирования Windows 3 15-01-2015 21:07
CMD/BAT - Найти txt файл по имени и заменить содержание файла на мой текст! Fresenius Скриптовые языки администрирования Windows 5 21-11-2012 08:49
CMD/BAT - [решено] как разбить один txt на несколько shadowbat Скриптовые языки администрирования Windows 7 05-10-2010 07:10
Shell. Чтение текстового файла по строкам. Delphin911 Общий по Linux 11 07-04-2005 17:58




 
Переход