Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Получить строки, где N символов до определённого (http://forum.oszone.net/showthread.php?t=352732)

Asdshka 07-01-2023 21:21 3000462

Получить строки, где N символов до определённого
 
Есть файл, содержащий строки типа: "asdasd:12345678"
Нужно получить все строки, где после ":" не менее N символов

YuS_2 08-01-2023 08:17 3000469

Цитата:

Цитата Asdshka
получить все строки, где после ":" не менее N символов »

Код:

$file = 'test.txt'
$enc = 'utf8'
$n = 9
$pattern = ":.{$n}"
(sls -path $file -patt $pattern -enc $enc).line


megaloman 08-01-2023 10:14 3000471

Код:

@Echo Off
cls
        Set "FileIn=Z:\Box_In\test.txt"
        Set "FileOut=Z:\Box_In\test.Out.txt"
        Set /A N=11

        Set /A M=N-1
        >"%FileOut%" (FOR /F "usebackq tokens=1* delims=:" %%i In ("%FileIn%") DO (
                Set "S=%%j"
                Call :Out "%%i" "%%j" "%%S:~%M%%%"
        ))
pause
Exit /B 0

:Out
        If %3=="" Exit /B
        Echo %~1:%~2
Exit /B

Код:

@Echo Off
cls
        Set "FileIn=Z:\Box_In\test.txt"
        Set "FileOut=Z:\Box_In\test.Out.txt"
        Set /A N=11

        Set "R=.*:"
        For /L %%i In (1,1,%N%) Do Call Set "R=%%R%%."
        2>nul >"%FileOut%" FindStr /R /C:"^%R%.*$" "%FileIn%"
pause
Exit /B 0


DJ Mogarych 08-01-2023 18:39 3000505

Powershell
Код:

$n = 7
(gc "c:\temp\file.txt") -match ":.{$n}" > "c:\temp\file2.txt"



Время: 11:10.

Время: 11:10.
© OSzone.net 2001-