2017-10-18 80 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地址後,把新線, 任何人都可以幫助我, 我工作了三天 謝謝

+0

批處理腳本必須檢查IP地址,它必須把線你面對每個部分 –

+0

什麼錯誤後? – Nidhi257

+0

請編輯您的問題,包括你已經嘗試的代碼。如果你沒有任何代碼,請編輯您的問題以包含您編寫的僞代碼。 – SomethingDark

回答

0

正如SomethingDark已經指出的那樣,你非常接近。使用其他方法來提取IP(因爲它不是令牌5中的每一行)和可變記住上次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

非常感謝,它已經得到解決,感謝您給予我們的時間 –

+0

當'oldip'爲空時刪除最初的換行符只是一個小癢 - 否則,就像我擁有它(但我太華麗:)) – Magoo

相關問題