Показать полную графическую версию : [решено] Разбить txt файл по строкам и файлам
Помогите реализовать такую задачу:
Есть файл 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
greg zakharov
09-10-2015, 11:08
@findstr /rc:"^1" temp.txt>1x.txt
@findstr /rc:"^2" temp.txt>2x.txt
Отлично! а если мне ну нужно, к примеру, из всех столбцов взять только первый и третий?
greg zakharov
09-10-2015, 12:04
@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
Просто шикарно! Все работает!
А как за место 1x,2x использовать кириллицу?
greg zakharov
09-10-2015, 12:56
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
Подскажите пожалуйста как сделать если нужно взять четыре столбика причем в порядке 4,2,3,1
И еще вопрос как это дело все ускорить
Исходный файл весит 10мб он обрабатывает это все 20-30 минут
@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
И еще вопрос как это дело все ускорить
Исходный файл весит 10мб он обрабатывает это все 20-30 минут »
Перейти к использованию WSH/PoSH.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.