2017-10-18 7 views
0

는,이 덕분에 를 도와주세요 후 새 줄을 추가 할 방법이이 내 코드 내 텍스트 파일내가 배치 스크립트를 사용하여 텍스트 파일의 특정 부분을 반복

2000,license(s) used by [email protected] [180.16.10.168] 
21000,license(s) used by [email protected] [180.16.10.168] 
21000,license(s) used by [email protected] [180.16.10.168] 
21000,license(s) used by [email protected] [180.16.10.168] 
2000,license(s) used by [email protected] [180.16.10.55] 
21000,license(s) used by [email protected] [180.16.10.55] 
21000,license(s) used by [email protected] [180.16.10.55] 
21000,license(s) used by [email protected] [180.16.10.55] 
21000,license(s) used by [email protected] [180.16.10.72] 
21000,license(s) used by [email protected] [180.16.10.72] 
21000,license(s) used by [email protected] [180.16.10.72] 
1,license(s) used by [email protected] [180.16.10.90] 
21000,license(s) used by [email protected] [180.16.10.90] 
21000,license(s) used by [email protected] [180.16.10.90] 
21000,license(s) used by [email protected] [180.16.10.90] 
21000,license(s) used by [email protected] [180.16.10.90] 
21000,license(s) used by [email protected] [180.16.10.90] 
21000,license(s) used by JITHIN [email protected] [180.16.10.386] 
21000,license(s) used by JITHIN [email protected] [180.16.10.86] 
21000,license(s) used by [email protected] [180.16.10.50] 
21000,license(s) used by [email protected] [180.16.10.15] 
21000,license(s) used by [email protected] [180.16.10.15] 
21000,license(s) used by [email protected] [180.16.10.149] 
21000,license(s) used by [email protected] [180.16.10.149] 
21000,license(s) used by [email protected] [180.16.10.149] 
168000,of 168008 license(s) used: 

입니다

@echo off 
setlocal enabledelayedexpansion 
REM set "string=A cat and dog had a [180.16.10.168]" 
for /f "tokens=*" %%a in ('type output.txt') do (
set line=%%a 
for /f "tokens=5" %%i in ("%line%") do set word2=%%i 
echo %word2% 
ECHO. 
echo !line! 
) 
REM start output1.txt 
pause 

파일에서 동일한 IP 주소를 반복하여 새 라인을 넣으려는 사람이 누구나 나를 도울 수 있습니까? 3 일에 작업 중입니다

+0

배치 스크립트는 IP 주소를 확인해야하며 각 섹션 뒤에 줄을 넣어야합니다. –

+0

어떤 오류가 발생 했습니까? – Nidhi257

+0

시도한 코드를 포함하도록 질문을 편집하십시오. 코드, 질문을 수정하여 작성한 의사 코드를 포함하십시오. – SomethingDark

답변

0

SomethingDark이 이미 언급했듯이, 당신은 매우 가깝습니다. (이 모든 라인에 5 토큰이 아니기 때문에)와 변수가 마지막 IP를 기억하기 위해 IP를 추출하는 다른 방법을 사용하여

echo off 
setlocal enabledelayedexpansion 
(
for /f "tokens=*" %%a in (output.txt) do (
    for /f "tokens=2 delims=[]" %%i in ("%%a") do (
    if "!oldIP!" neq "%%i" (
    if defined oldip echo/ 
    set "oldIP=%%i" 
    ) 
) 
    echo %%a 
) 
)>output1.txt 
start output1.txt 
pause 

(참고 : for 변수 (%%a을 사용할 수 있습니다) 직접 필요하지 않습니다에 대한 !line!

+1

나는 올바른 방향으로 그를 조금 움직였습니다. 나는 그가 결국 그것을 얻을 것이라고 생각했다. – SomethingDark

+0

고맙습니다, 해결되었습니다. ur 시간을 주셔서 감사합니다 –

+0

'oldip'이 비어있을 때 초기 개행을 지우려면 조금 조금 간질 것입니다 - 그렇지 않으면 그냥 가지고있을 때 (그러나 나는 너무 많이 waffle :) – Magoo