标题: [文件操作] [已解决]批处理如何删除(去除/去掉)文本中的重复行? [打印本页]
作者: ygqiang 时间: 2016-3-1 17:04 标题: [已解决]批处理如何删除(去除/去掉)文本中的重复行?
[已解决]批处理:如何将mac.bat文件里重复的mac地址删除?只保留其中1个。
处理完以后,需要仍然保持mac.bat文件的结构。
mac.bat文件内容如下:复制代码
作者: ivor 时间: 2016-3-1 17:53
- @echo off
- for /f "tokens=1,2" %%a in (mac.bat) do (
- set _%%b=%%b
- )
- (for /f "tokens=1,2 delims==" %%a in ('set _') do (
- echo %%b
- ))>new.txt
复制代码
回复 1# ygqiang
没过滤后面2行数据
作者: ygqiang 时间: 2016-3-1 19:19
回复 ygqiang
没过滤后面2行数据
ivor 发表于 2016-3-1 17:53
你好。过滤以后,需要仍然保持bat文件的结构啊。谢谢- :aaaa
- wol.exe mac地址1
- wol.exe mac地址2
- 。。。
- ping 127.0.0.1 -n 10
- goto :aaaa
复制代码
作者: codegay 时间: 2016-3-1 19:56
- """
- python MAC地址去重.py
- http://bbs.bathome.net/thread-39529-1-1.html
- 2016年3月1日 19:46:32 codegay
- """
- #不保持mac行的顺序
- txt=open("mac.bat").readlines()
- re=list(set(txt[1:-2]))+txt[-2:]
- open('x.bat',"w+").writelines(re)
复制代码
作者: ygqiang 时间: 2016-3-1 20:07
回复 4# codegay
批处理代码,应该如何写呢?多谢。
作者: codegay 时间: 2016-3-1 20:12
回复 5# ygqiang
我写的python也没有到处问人python怎么写的啊。资料例子这么多,搜搜看看不就懂了么。
作者: ivor 时间: 2016-3-1 20:22
回复 3# ygqiang - @echo off
- (for /f "delims=" %%a in (mac.bat) do (
- if not defined %%a (
- set %%a=%%a
- echo %%a
- )
- ))>new_mac.bat
复制代码
可以了
作者: codegay 时间: 2016-3-1 21:05
- #方法二
- txt=open("mac.bat").readlines()
- results=[]
- [results.append(r) for r in txt if r not in results]
- open("mac_new.bat","w+").writelines(results)
复制代码
作者: ygqiang 时间: 2016-3-1 21:29
本帖最后由 ygqiang 于 2016-3-1 21:42 编辑
回复 ygqiang 可以了,对于覆盖文件的操作,使用前请备份数据,如有任何损失,概不负责
ivor 发表于 2016-3-1 20:22
多谢。。
下面2个批处理代码。啥情况下,会有啥差别呢??
如果mac.txt文件是下面格式的。而且内容经常变化。- for /f "delims=" %%a in (mac-new.txt) do (
- if not defined _%%a (
- set _%%a=%%a
- echo %%a>>mac-new1.txt
- )
- )
-
-
- for /f "delims=" %%a in (mac-new.txt) do (
- if not defined %%a set %%a=m &echo %%a>>mac-new2.txt
- )
复制代码
001558DACB45
001558DAC9E7
001558DB35C1
001558DB35C5
001558DACBA5
001558DACAF5
001558DACB69
001558DACA25
001558DB35FE
001558DACAD8
001558DB360E
001558DB3630
001558DACADE
001558DAC9BF
001558DACAD5
001558DAC878
001558DB35B2
00016C903091
001558DACBD8
001558DACB4E
001558DAC85C
001558DB35EE
001558DAC9B6
001558DACA71
001558DB35B1
001558DAC9DD
001558DACBC3
001558DAC904
001558DB35C9
001558DACBB8
001558DAC8AF
001558DACA77
001558DACBC4
001558DAC88B
001558DACABB
001558DB35E4
001558DACA11
001558DAC859
001558DB35DC
001558DB35E2
001558DB3629
001558DB35C8
001558DACB00
001558DB35F5
001558DACB1A
001558DB3610
001558DB35D3
001558DB35B3
001558DACC0A
00016C9F5ABA
001558DB35B4
001558DACA36
001558DACB74
001558DB35F4
001558DACAE2
001558EEBD1B
001558DB35BC
001558DACAC7
001558DACA8A
001558DACAD4
001558DAC86F
001558DB3620
001558DB35DD
001558DACBA7
001558DACAEA
001558DAC810
001558DACB29
001558DB35F7
001558DB35EB
001558DACAA3
001558DB35D2
001558DACC15
001558DAC9BE
001558DAD92C
001558DB362C
001558DAC85D
001558DACA73
001558DB3611
001558DB35E7
001558DACB6F
001558DB35E8
001558DACB02
001558DAC890
001558DACBFC
001558DACA62
001558DACBEB
001558DB35F3
001558DB361D
001558DACC02
001558DAC9EB
001558DB35F9
001558DAC989
00016C9E125F
001558DB360D
001558DB35EF
001558D86CB3
001558DB361A
001558DAC89D
001C25D03998
00016C909E74
001558DACAED
001558DB35BD
001558DB35BB
001558DB3603
001558D4D8BA
001558DACB96
001558DAC86B
001558DACBCD
001558DB35BE
001558D89D9E
001558DACB16
001558DB35CF
001558DAC9C7
001558DAF395
001558DB35E3
001558DB3600
001558DAC941
001558DAC87F
001558DACAAD
001558DACAB3
001558DB360A
001558DB35F0
001558DB3605
001558E9F4A5
001558DAC875
001558DB361C
001558DACBD2
001558DAC87C
001558D93B6B
001558DACB87
001558DB361F
001558DACB01
001558DB35EC
001558DACA43
001558DACBD1
001558DAD205
001C25C8F3A2
001558DACAF6
001558DB3602
001558DACC13
001558DACBD4
001558DACB55
001558DACBA4
001558DACA6D
001558DAD85E
001558DAC867
001558DACBED
00016C90FCD4
001558DB35EA
001558DAF542
002421772875
00242171A892
002421BC760B
00218546CCFC
002421BC769E
001558DACA58
001558DACC0F
001558DB3609
001558DACA61
001558DAC835
001558DB362E
001558DAC91A
001558DB35FF
001558DACAC3
001558DACAB6
001558DAC854
001558DB3623
001558DACAE4
001558DB35F2
001558DAC893
001558DACBB2
001558DB35C0
00016C8EF6C4
001558DAF52F
001558DAC925
001558DAF589
001558DAF42A
001558DAC912
001558DB362A
002421BC7653
001558DACA40
001558DB3630
001558DAC9BF
001558DACBA1
001558DACBA5
001558DB3617
001558DACA8F
001558DAC9E9
001558DB35DB
001558DB3628
001558DACAC6
001558DB3613
001558E9F4A5
001558DAC882
001558DB360B
001558DACADE
001558DAC867
001558DAC8AF
001558DACAB5
001558DACAEC
001558DACA61
001558DAC915
001558DACBA0
001558DACA73
001558DACAF5
00016C903091
001558DAC97A
001558DB3607
001558DB3618
001558DACB45
001558DAC91E
001558DAC842
001558DB35C5
001558DACA20
001558DB362B
001558DB361B
001558DB35CD
001558DACA08
001558DB35E0
001558DACB7E
001558DB3601
001558DB3626
001558DACBB0
001558DACA71
001558DB35CC
001558DB360C
001558DACAE3
001558DB3606
001BB95788A0
001558DACA11
001558DAD85E
001558DACBFC
001558DB362D
001558DACB4E
001558DB35E9
001558DB3627
001558DACB1D
001558DAC899
001558DACAB7
001558DACC09
001558DB3604
001558DB3603
001558DB35FE
001558DB35E7
001558DACAD5
001558DACA47
001558DAC878
001558D4D8BA
001558DACA97
001558DACB01
001558DB35D1
001558DB3621
001558DACAF6
001558DB35D3
001558DACA8E
001558DB35F0
001BB957856A
001558DAC7F8
001558DB35EA
001558DAD205
001BB957875A
001558DAF546
001558DB3629
001558DB35C7
001558DB3609
001558DAF589
001558DACAC0
001558DB35E3
001558DACB12
001558DACAD6
001558DB35B2
001558DB35EE
001558DAC85C
001558DACA33
001558DACAEA
001558DAC99F
001558DACAA3
001558DB3624
001558DACAAA
001558DACBB8
001558DACA25
001558DB35C9
001558E77346
001558DACC16
001558DACB87
001558DACBD8
001558DAC904
001558DACB45
001558DAC9E7
001558DB35C1
001558DB35C5
001558DACBA5
001558DACAF5
001558DACB69
001558DACA25
001558DB35FE
001558DACAD8
001558DB360E
001558DB3630
001558DACADE
001558DAC9BF
001558DACAD5
001558DAC878
001558DB35B2
00016C903091
001558DACBD8
001558DACB4E
001558DAC85C
001558DB35EE
001558DAC9B6
001558DACA71
001558DB35B1
001558DAC9DD
001558DACBC3
001558DAC904
001558DB35C9
001558DACBB8
001558DAC8AF
001558DACA77
001558DACBC4
001558DAC88B
001558DACABB
001558DB35E4
001558DACA11
001558DAC859
001558DB35DC
001558DB35E2
001558DB3629
001558DB35C8
001558DACB00
001558DB35F5
001558DACB1A
001558DB3610
001558DB35D3
001558DB35B3
001558DACC0A
00016C9F5ABA
001558DB35B4
001558DACA36
001558DACB74
001558DB35F4
001558DACAE2
001558EEBD1B
001558DB35BC
001558DACAC7
001558DACA8A
001558DACAD4
001558DAC86F
001558DB3620
001558DB35DD
001558DACBA7
001558DACAEA
001558DAC810
001558DACB29
001558DB35F7
001558DB35EB
001558DACAA3
001558DB35D2
001558DACC15
001558DAC9BE
001558DAD92C
001558DB362C
001558DAC85D
001558DACA73
001558DB3611
001558DB35E7
001558DACB6F
001558DB35E8
001558DACB02
001558DAC890
001558DACBFC
001558DACA62
001558DACBEB
001558DB35F3
001558DB361D
001558DACC02
001558DAC9EB
001558DB35F9
001558DAC989
00016C9E125F
001558DB360D
001558DB35EF
001558D86CB3
001558DB361A
001558DAC89D
001C25D03998
00016C909E74
001558DACAED
001558DB35BD
001558DB35BB
001558DB3603
001558D4D8BA
001558DACB96
001558DAC86B
001558DACBCD
001558DB35BE
001558D89D9E
001558DACB16
001558DB35CF
001558DAC9C7
001558DAF395
001558DB35E3
001558DB3600
001558DAC941
001558DAC87F
001558DACAAD
001558DACAB3
001558DB360A
001558DB35F0
001558DB3605
001558E9F4A5
001558DAC875
001558DB361C
001558DACBD2
001558DAC87C
001558D93B6B
001558DACB87
001558DB361F
001558DACB01
001558DB35EC
001558DACA43
001558DACBD1
001558DAD205
001C25C8F3A2
001558DACAF6
001558DB3602
001558DACC13
001558DACBD4
001558DACB55
001558DACBA4
001558DACA6D
001558DAD85E
001558DAC867
001558DACBED
00016C90FCD4
001558DB35EA
001558DAF542
002421772875
00242171A892
002421BC760B
00218546CCFC
002421BC769E
001558DACA58
001558DACC0F
001558DB3609
001558DACA61
001558DAC835
001558DB362E
001558DAC91A
001558DB35FF
001558DACAC3
001558DACAB6
001558DAC854
001558DB3623
001558DACAE4
001558DB35F2
001558DAC893
001558DACBB2
001558DB35C0
00016C8EF6C4
001558DAF52F
001558DAC925
001558DAF589
001558DAF42A
001558DAC912
001558DB362A
002421BC7653
001558DACA40
001558DB3630
001558DAC9BF
001558DACBA1
001558DACBA5
001558DB3617
001558DACA8F
001558DAC9E9
001558DB35DB
001558DB3628
001558DACAC6
001558DB3613
001558E9F4A5
001558DAC882
001558DB360B
001558DACADE
001558DAC867
001558DAC8AF
001558DACAB5
001558DACAEC
001558DACA61
001558DAC915
001558DACBA0
001558DACA73
001558DACAF5
00016C903091
001558DAC97A
001558DB3607
001558DB3618
001558DACB45
001558DAC91E
001558DAC842
001558DB35C5
001558DACA20
001558DB362B
001558DB361B
001558DB35CD
001558DACA08
001558DB35E0
001558DACB7E
001558DB3601
001558DB3626
001558DACBB0
001558DACA71
001558DB35CC
001558DB360C
001558DACAE3
001558DB3606
001BB95788A0
001558DACA11
001558DAD85E
001558DACBFC
001558DB362D
001558DACB4E
001558DB35E9
001558DB3627
001558DACB1D
001558DAC899
001558DACAB7
001558DACC09
001558DB3604
001558DB3603
001558DB35FE
001558DB35E7
001558DACAD5
001558DACA47
001558DAC878
001558D4D8BA
001558DACA97
001558DACB01
001558DB35D1
001558DB3621
001558DACAF6
001558DB35D3
001558DACA8E
001558DB35F0
001BB957856A
001558DAC7F8
001558DB35EA
001558DAD205
001BB957875A
001558DAF546
001558DB3629
001558DB35C7
001558DB3609
001558DAF589
001558DACAC0
001558DB35E3
001558DACB12
001558DACAD6
001558DB35B2
001558DB35EE
001558DAC85C
001558DACA33
001558DACAEA
001558DAC99F
001558DACAA3
001558DB3624
001558DACAAA
001558DACBB8
001558DACA25
001558DB35C9
001558E77346
001558DACC16
001558DACB87
001558DACBD8
001558DAC904
作者: ivor 时间: 2016-3-1 21:37
回复 9# ygqiang
没问题
作者: ygqiang 时间: 2016-3-1 21:43
回复 ygqiang
没问题
ivor 发表于 2016-3-1 21:37
下面2个批处理代码。啥情况下,会有差别呢??- for /f "delims=" %%a in (mac-new.txt) do (
- if not defined _%%a (
- set _%%a=%%a
- echo %%a>>mac-new1.txt
- )
- )
-
- for /f "delims=" %%a in (mac-new.txt) do (
- if not defined %%a set %%a=m &echo %%a>>mac-new2.txt
- )
-
-
复制代码
作者: ivor 时间: 2016-3-1 22:21
回复 11# ygqiang
这两种没什么区别,建议不要写在一行,虽然看起来比较酷,但是不适合阅读
关于这个变量前面的_,只是我忘记删除了,可以不需要
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |