标题: [文本处理] 批处理怎样查找TXT中相同IP,并将重复的IP输入到TXT文本中? [打印本页]
作者: 滴血雄鹰 时间: 2020-6-22 16:32 标题: 批处理怎样查找TXT中相同IP,并将重复的IP输入到TXT文本中?
查找TXT文件中相同IP,并将重复的IP输入到一个TXT文本中?
如:
10.1.1.2 10.1.2.136 10.1.4.17 10.1.5.151
10.1.1.3 10.1.2.137 10.1.4.18 10.1.5.152
10.1.1.4 10.1.2.138 10.1.4.19 10.1.5.153
10.1.1.5 10.1.2.139 10.1.4.20 10.1.5.154
10.1.1.6 10.1.2.140 10.1.4.21 10.1.5.155
10.1.1.7 10.1.2.141 10.1.4.22 10.1.5.156
10.1.1.8 10.1.2.142 10.1.4.23 10.1.5.157
10.1.1.9 10.1.2.143 10.1.4.24 10.1.5.158
10.1.1.10 10.1.2.144 10.1.4.25 10.1.5.159
...... ...... ......
TXT文件:
链接: https://pan.baidu.com/s/1SCZHVBwWCJOc7lZB_k8IbQ 提取码: 7n7x
作者: Batcher 时间: 2020-6-22 19:17
回复 1# 滴血雄鹰
sed + gawk- @echo off
- echo 正在拆分IP
- sed "s/[[:space:]]/\n/g" "IP.txt" > "IP_Temp.txt"
- echo 正在查找重复IP
- gawk "{a[$0]++}END{for(i in a)if(a[i]>1)print i}" "IP_Temp.txt" > "IP_Duplicate.txt"
复制代码
http://bcn.bathome.net/s/tool/index.html?key=sed
http://bcn.bathome.net/s/tool/index.html?key=gawk
作者: ivor 时间: 2020-6-22 20:20
不堪入目的代码- #! /usr/bin/env python3
- # -*- coding: UTF-8 -*-
-
- import re
- ip = re.findall('\d+\.\d+\.\d+\.\d+' ,open('IP.txt', 'r+').read())
- print(set([i for i in ip if ip.count(i) > 1]),file=open('IP_Duplicate.txt','a+'))
复制代码
作者: 滴血雄鹰 时间: 2020-6-22 22:33
回复 2# Batcher
一闪就没有了, IP_Temp.txt和IP_Duplicate.txt是空的。
作者: Batcher 时间: 2020-6-23 09:35
回复 4# 滴血雄鹰
参考 Q-01 的方法
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: WHY 时间: 2020-6-23 11:07
- @echo off
- PowerShell "$h=@{};$str=(type IP.txt -ReadCount 0) -join ' '; forEach($m In [regex]::Matches($str, '(?:\d+\.){3}\d+')){$h[$m.Value]++};forEach($key In $h.keys){if($h[$key] -gt 1){$key}}"
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |