批处理实现过滤重复行
a.txt内容如下:
123
456
789
123
123
789
获取重复的行,并且重复的行只保留一次,处理后得到b.txt内容如下:
123
789
方法1:
@echooff
REM缺点1:无法处理特别大的文件
REM缺点2:需要使用文件中没有出现的字符来标记变量(本例中使用的是下划线)
setlocal
for/f"delims="%%iin(a.txt)do(
set/a_%%i+=1
)
(for/f"tokens=1-2delims=_="%%iin('set_')do(
if%%jgtr1(
echo,%%i
)
))>b.txt
endlocal
方法2:
@echooff
setlocalenabledelayedexpansion
set"PriLine="
set"DupNum=1"
(for/f"delims="%%iin('sorta.txt')do(
if"!PriLine!"equ"%%i"(
set/aDupNum+=1
)else(
if!DupNum!gtr1(
echo,!PriLine!
)
setDupNum=1
)
set"PriLine=%%i"
))>b.txt
if!DupNum!gtr1(
>>b.txtecho,!PriLine!
)
方法3:
gawk"{a[$0]++}END{for(iina)if(a[i]>1)printi}"a.txt>b.txt
方法4:(更加简洁)
gawk"a[$0]++"a.txt>b.txt
方法5:
@echooff
for/f"tokens=*"%%iin(a.txt)doset#%%i=%%i
(for/f"tokens=2delims=="%%iin('set#')doecho%%i)>b.txt热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短