批处理实现过滤重复行
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 好听的元旦简短祝福语