Войти

Показать полную графическую версию : Получить строки, где N символов до определённого


Asdshka
07-01-2023, 21:21
Есть файл, содержащий строки типа: "asdasd:12345678"
Нужно получить все строки, где после ":" не менее N символов

YuS_2
08-01-2023, 08:17
получить все строки, где после ":" не менее N символов »
$file = 'test.txt'
$enc = 'utf8'
$n = 9
$pattern = ":.{$n}"
(sls -path $file -patt $pattern -enc $enc).line

megaloman
08-01-2023, 10:14
@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
Powershell

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




© OSzone.net 2001-2012