广州明生堂生物科技有限公司


批处理实现过滤重复行

网络编程 批处理实现过滤重复行 06-21

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

批处理完美实现FTP远程备份数据
经过再次努力,终于完成了自己的比较满意的版本,大家多批评……批处理功能:输入几个参数,让批处理代你完成烦琐的工作吧!远程FTP文件到本地

批处理制作二维码生成器
这个程序不能直接支持Unicode,同样不能直接支持任何双字节或多字节字符(包括汉字),但可以用十六进制转码的方式生成包含Unicode(或其他任何编码)字符的

批处理添加多个新的域名到hosts
要求:批处理(.bat)添加多个新的域名到hosts,先检测是否已存在,如果已存在的域名就不添加其他尚未存在的域名,则直接添加google搜寻是有找到代码如下:se


编辑:广州明生堂生物科技有限公司

标签:批处理,方法,域名,多个,字符