Получить строки, где N символов до определённого
Есть файл, содержащий строки типа: "asdasd:12345678"
Нужно получить все строки, где после ":" не менее N символов
|
Цитата:
Цитата Asdshka
получить все строки, где после ":" не менее N символов »
|
Код:
$file = 'test.txt'
$enc = 'utf8'
$n = 9
$pattern = ":.{$n}"
(sls -path $file -patt $pattern -enc $enc).line
|
Код:
@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.
© OSzone.net 2001-