Windows 배치 파일에서 중괄호로 구분 된 텍스트 파일을 읽으려면 어떻게해야합니까?


2

나는 txt 파일을 몇 줄 가지고 있는데, 여기 아래에 내 txt 파일이있다.

rule.txt
----------------------------------------
direct
replace{100,1011}
replace{india,o891}
replace{1100,101}
-----------------------------------------

난 배치 파일을 사용하여 중괄호와 닫힌 중괄호 사이에 숫자를 캡처해야합니다.


1
(1) 이름의 문제로서, () 부르다 괄호. 그들은 중괄호와 비슷하게 보입니다. {}. (2) 어떤 연구를 해왔습니까? 너 시도해 봤어?
Scott

아마도 포인터를 시작 .... FOR /F "USEBACKQ DELIMS={, TOKENS=2" %F IN ("C:\folder\text.txt") DO ECHO %~FFOR /F "USEBACKQ DELIMS=}, TOKENS=2" %F IN ("C:\folder\text.txt") DO ECHO %~F, 그리고 나서 당신은 두 논리를 순서대로 연결하고 비 논리 논리를 대체 할 수 있습니다. int 0 또는 다른 무엇이 필요합니다. 귀하의 요구 사항은 모호하지만, PowerShell을 사용하여 일괄 처리보다는 직접 처리 할 수는 있지만 모호한 요구 사항이있는 일괄 처리 빠른 시작점 일 수 있습니다.
Pimp Juice IT

답변:


2

배치 파일 :

:: Q:\Test\2018\12\26\SU_1387726.cmd
@Echo off
For /F "tokens=2,3 delims={,}" %%A IN (
   ' findstr "{" rule.txt'
) DO ECHO:%%A =^> %%B

샘플 출력 :

> Q:\Test\2018\12\26\SU_1387726.cmd
100 => 1011
india => o891
1100 => 101

1

중괄호 안에 데이터를 캡쳐하려고한다면 다음 powershell 명령을 사용할 수 있습니다.

Get-ChildItem rule.txt | Select-String -Pattern '(?<={).*?(?=})' | % { $_.Matches } | % { $_.Value }

산출

100,1011
india,o891
1100,101
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.