您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關bat批處理如何實現過濾重復行的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
a.txt內容如下:
123
456
789
123
123
789
獲取重復的行,并且重復的行只保留一次,處理后得到b.txt內容如下:
123
789
方法1:
@echo off REM 缺點1:無法處理特別大的文件 REM 缺點2:需要使用文件中沒有出現的字符來標記變量(本例中使用的是下劃線) setlocal for /f "delims=" %%i in (a.txt) do ( set /a _%%i+=1 ) (for /f "tokens=1-2 delims=_=" %%i in ('set _') do ( if %%j gtr 1 ( echo,%%i ) ))>b.txt endlocal
方法2:
@echo off setlocal enabledelayedexpansion set "PriLine=" set "DupNum=1" (for /f "delims=" %%i in ('sort a.txt') do ( if "!PriLine!" equ "%%i" ( set /a DupNum+=1 ) else ( if !DupNum! gtr 1 ( echo,!PriLine! ) set DupNum=1 ) set "PriLine=%%i" ))>b.txt if !DupNum! gtr 1 ( >>b.txt echo,!PriLine! )
方法3:
gawk "{a[$0]++}END{for(i in a)if(a[i]>1)print i}" a.txt > b.txt
方法4:(更加簡潔)
gawk "a[$0]++" a.txt>b.txt
方法5:
@echo off for /f "tokens=*" %%i in (a.txt) do set #%%i=%%i (for /f "tokens=2 delims==" %%i in ('set #') do echo %%i)>b.txt
感謝各位的閱讀!關于“bat批處理如何實現過濾重復行”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。