Board logo

标题: [文本处理] 批处理如何删除前两段相同的重复ip地址只保留最先/首次/第一个出现的那个ip [打印本页]

作者: idccom    时间: 2016-9-18 17:51     标题: 批处理如何删除前两段相同的重复ip地址只保留最先/首次/第一个出现的那个ip

本帖最后由 pcl_test 于 2016-9-19 12:57 编辑

AB段重复数据整行删除,这个应该怎么做。。。
原数据
120.25.105.45
180.121.255.79
113.15.188.220
120.25.11.22
222.45.233.2
182.90.37.138
119.162.70.188
182.90.22.11
125.226.224.245
112.123.9.184
125.226.11.22
112.123.138.84
处理后
120.25.105.45
180.121.255.79
113.15.188.220
222.45.233.2
182.90.37.138
119.162.70.188
125.226.224.245
112.123.9.184
作者: 回家路上    时间: 2016-9-18 19:05

  1. @echo off
  2. for /f "tokens=1,2* delims=." %%i in ('more +8 "%~f0"') do (
  3. if not defined #%%i%%j echo;%%i.%%j.%%k
  4. set #%%i%%j=1
  5. )
  6. pause & exit /b
复制代码

作者: WHY    时间: 2016-9-18 19:36

  1. @if (0)==(0) echo off
  2. cscript //nologo //e:jscript "%~f0" < 1.txt
  3. pause & exit
  4. @end
  5. var reg = /^(\d+\.\d+)\.\d+\.\d+$/mg;
  6. var s = WSH.StdIn.ReadAll(), map = [];
  7. while(arr=reg.exec(s)){if(!map[arr[1]]){map[arr[1]]=1; WSH.Echo(arr[0])}}
复制代码

作者: WHY    时间: 2016-9-18 19:38

  1. @echo off
  2. PowerShell -c "type 1.txt | group {$_ -replace '\d+\.\d+$'} | %%{$_.Group[0]}"
  3. pause
复制代码

作者: WHY    时间: 2016-9-18 19:38

  1. gawk -F"." "!a[$1\".\"$2]++" 1.txt
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2