您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)bat批處理如何實(shí)現(xiàn)過濾重復(fù)行的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
a.txt內(nèi)容如下:
123
456
789
123
123
789
獲取重復(fù)的行,并且重復(fù)的行只保留一次,處理后得到b.txt內(nèi)容如下:
123
789
方法1:
@echo off REM 缺點(diǎn)1:無法處理特別大的文件 REM 缺點(diǎn)2:需要使用文件中沒有出現(xiàn)的字符來標(biāo)記變量(本例中使用的是下劃線) 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:(更加簡(jiǎn)潔)
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
感謝各位的閱讀!關(guān)于“bat批處理如何實(shí)現(xiàn)過濾重復(fù)行”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。