Показать полную графическую версию : [решено] Обработка строк с последующей сортировкой
pageYK@fb
20-07-2016, 13:31
В файле есть строки типа:
1|21424142|12|Иванов Иван Иванович
2|13214142|8|Петров Петр Ильич
...
Надо разделить число в 3 столбце пополам и отсортировать строки по нему(соответственно поменять 1число - т.к. это и есть нумерация строк)
@echo off
setlocal enabledelayedexpansion
set "src=list.txt"
set "dest=new_list.txt"
for /f "usebackq tokens=3 delims=|" %%i in ("%src%") do (
set/a x=%%i/2
if !x! gtr !max! set/a max=x
)
>"%dest%" (
for /l %%i in (0 1 %max%) do @(
for /f "usebackq tokens=2,3* delims=|" %%j in ("%src%") do @(
set/a x=%%k/2
if %%i equ !x! (
set/a n+=1
echo !n!^|%%j^|%%i^|%%l
)
)
)
)
endlocal
exit/b
@echo off
setlocal enabledelayedexpansion
set "f=file.txt"
<"%f%">>$ (for /f "tokens=2,3* delims=|" %%a in ('more') do @set/a x=%%b%%2& if !x!==0 set/a y=%%b/2& echo %%a^|!y!^|%%c)
<$>"%f%" (for /f "delims=" %%a in ('more^|sort/+10') do @set/a n+=1& echo !n!^|%%a)& del $
exit
.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.