Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Получить строки, где N символов до определённого

Ответить
Настройки темы
CMD/BAT - Получить строки, где N символов до определённого

Новый участник


Сообщения: 27
Благодарности: 2

Профиль | Отправить PM | Цитировать


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

Отправлено: 21:21, 07-01-2023

 

Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Asdshka:
получить все строки, где после ":" не менее N символов »
Код: Выделить весь код
$file = 'test.txt'
$enc = 'utf8'
$n = 9
$pattern = ":.{$n}"
(sls -path $file -patt $pattern -enc $enc).line

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 08-01-2023 в 08:23.

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:17, 08-01-2023 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 08-01-2023 в 10:31.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:14, 08-01-2023 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Powershell
Код: Выделить весь код
$n = 7
(gc "c:\temp\file.txt") -match ":.{$n}" > "c:\temp\file2.txt"

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:39, 08-01-2023 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Получить строки, где N символов до определённого

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Удалить первые/последние N символов каждой строки Asdshka Скриптовые языки администрирования Windows 7 05-01-2023 14:32
Любой язык - Вырезать начало/ заголовок файла до определённого символа NickM Скриптовые языки администрирования Windows 6 05-03-2022 17:19
CMD/BAT - [решено] Удаление нежелательных символов из строки. Amunrah Скриптовые языки администрирования Windows 15 26-10-2018 21:03
CMD/BAT - [решено] Вычитание символов из строки и вывод на экран Instant_SR Скриптовые языки администрирования Windows 4 25-07-2013 11:37
Перевод строки символов в hex в С++ Guest Программирование и базы данных 3 16-01-2003 04:55




 
Переход