Сортировка по доменам
Помогите написать сортировку по доменам.
PHP код:
FINDSTR /c:"@mail" 1.txt>Mail.txt
FINDSTR /c:"@bk" 1.txt>Mail.txt
FINDSTR /c:"@list" 1.txt>Mail.txt
FINDSTR /c:"@inbox" 1.txt>Mail.txt
FINDSTR /c:"@yandex" 1.txt>Yandex.txt
FINDSTR /c:"@ya." 1.txt>Yandex.txt
FINDSTR /c:"@narod" 1.txt>Yandex.txt
После того, как отсортировалось, в файле Mail домен только inbox, а в файле Yandex narod. Помогите пожалуйста, чтобы текст добавлялся в файл, а не пересоздавал его
|
Код:
@echo off
setlocal enabledelayedexpansion
for %%i in (
@mail
@bk
@list
@inbox
@yandex
@ya.
@narod
) do (
set /a n+=1
if !n! leq 4 (
set "file=Mail.txt"
) else (
set "file=Yandex.txt"
)
findstr /lic:"%%i" "1.txt">>"!file!"
)
endlocal
exit /b
|
bboutte, для повторяющихся назначений измените перенаправление вывода (>) на перенаправление с добавлением (>>):
Код:
FINDSTR /c:"@mail" 1.txt >Mail.txt
FINDSTR /c:"@bk" 1.txt>>Mail.txt
FINDSTR /c:"@list" 1.txt>>Mail.txt
FINDSTR /c:"@inbox" 1.txt>>Mail.txt
FINDSTR /c:"@yandex" 1.txt >Yandex.txt
FINDSTR /c:"@ya." 1.txt>>Yandex.txt
FINDSTR /c:"@narod" 1.txt>>Yandex.txt
|
Можно ещё вспомнить, что параметр «/c» может быть множественным. Сие к тому же позволит сократить число проходов:
Код:
type "1.txt"|>"Mail.txt" findstr.exe /c:"@mail" /c:"@bk" /c:"@list" /c:"@inbox"
type "1.txt"|>"Yandex.txt" findstr.exe /c:"@yandex" /c:"@ya" /c:"@narod"
|
Время: 03:29.
© OSzone.net 2001-