Помощь с sort
Имеется текстовый файл со строками типа
Цитата:
KB2687324--20121020--C:\WINDOWS\Installer\2295d.msp
KB2687626--20120712--C:\WINDOWS\Installer\2292a.msp
KB2584052--20110917--C:\WINDOWS\Installer\228b8.msp
KB953432--20110917--C:\WINDOWS\Installer\228b8.msp
KB2687483--20121020--C:\WINDOWS\Installer\22989.msp
KB2289163--20110123--C:\WINDOWS\Installer\227e5.msp
KB975051--20110123--C:\WINDOWS\Installer\2275a.msp
KB2284695--20110123--C:\WINDOWS\Installer\2275a.msp
|
Необходимо создать другой текстовый файл, в котором строки будут отсортированы по нарастающей по значению первого токена, сначала шестизначные КВ (KB953432), затем семизначные КВ (KB2284695)
|
sov44, общий принцип тот же (тупо, без оптимизаций):
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
>nul copy nul "0002.txt"
for /f "usebackq tokens=1* delims=-" %%i in (`type "0001.txt" ^| findstr.exe /r /c:"KB......--" ^| sort.exe`) do (
>>"0002.txt" echo %%i--%%j
)
for /f "usebackq tokens=1* delims=-" %%i in (`type "0001.txt" ^| findstr.exe /r /c:"KB.......--" ^| sort.exe`) do (
>>"0002.txt" echo %%i--%%j
)
endlocal
exit /b 0
Update: действительно, тупо.
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
>"0002.txt" (
type "0001.txt" | findstr.exe /r /c:"KB......--" | sort.exe
type "0001.txt" | findstr.exe /r /c:"KB.......--" | sort.exe
)
endlocal
exit /b 0
|
Iska, здорово, как я сразу не догадался (рыл в сторону sort /+3)
|
sov44, ну, gora же делал что-то подобное с месяц-два назад — по-моему, для Вас же.
|
Время: 14:46.
© OSzone.net 2001-