bat批處理如何實現(xiàn)過濾重復行-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關bat批處理如何實現(xiàn)過濾重復行的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供丹徒網(wǎng)站建設、丹徒做網(wǎng)站、丹徒網(wǎng)站設計、丹徒網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、丹徒企業(yè)網(wǎng)站模板建站服務,10余年丹徒做網(wǎng)站經驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

a.txt內容如下:
123
456
789
123
123
789

獲取重復的行,并且重復的行只保留一次,處理后得到b.txt內容如下:
123
789

方法1:


@echo off
REM 缺點1:無法處理特別大的文件
REM 缺點2:需要使用文件中沒有出現(xiàn)的字符來標記變量(本例中使用的是下劃線)
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批處理如何實現(xiàn)過濾重復行”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

名稱欄目:bat批處理如何實現(xiàn)過濾重復行-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://www.muchs.cn/article38/deoepp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、微信小程序服務器托管、搜索引擎優(yōu)化響應式網(wǎng)站、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設