标题: [文本处理] 求助批处理去掉重复内容,仅保留不重复的名字 [打印本页]
作者: delab-1 时间: 2024-8-15 22:31 标题: 求助批处理去掉重复内容,仅保留不重复的名字
文件A.txt包含如下名称
Liming
wangqiang
zhihong
lingming
lina
wangzhang
我想利用循环语句,将上述名称中重复的去掉(实际文本更长,上面的是个例子)。编写了如下命令- if exist new.txt del new.txt
-
- set/a num=0
-
- setlocal enabledelayedexpansion
-
- for /f %%a in (a.txt) do (
- set/a num=!num!+1
- call :chkslt !num!
- echo %%a>>set2.csv
- :next
-
- :chkslt
- for /f "skip=%1" %%b in (set1.csv) do (
- if %%a==%%b goto next
- )
- )
复制代码
我需要在:chkslt的循环,当出现%%a==%%b的时候,能够跳出当前循环,进入到上层循环,该如何做呀?我用了goto next,可以不行。请高手给与指导
作者: delab-1 时间: 2024-8-15 23:06
我这个程序不行,我本想通过两个循环迭代的方式,实现去重。目前的这个call:chkslt的方式,不是重复循环的概念。还请高手给与援手,先提前谢过
作者: Batcher 时间: 2024-8-15 23:30
回复 1# delab-1
批处理如何删除文本文件中重复的行
http://bbs.bathome.net/thread-5219-1-1.html
批处理如何删除txt文本中的重复行
http://bbs.bathome.net/thread-5509-1-1.html
批处理去除超大文本中的重复行
http://bbs.bathome.net/thread-4690-1-1.html
批处理删除文本重复行时如何使用变量延迟扩展
http://bbs.bathome.net/thread-5326-1-1.html
批处理中sort命令如何过滤重复行
http://bbs.bathome.net/thread-4896-1-1.html
作者: delab-1 时间: 2024-8-16 01:04
太感谢了,非常棒!!!
作者: haichuan5121 时间: 2024-8-16 10:10
本帖最后由 haichuan5121 于 2024-8-16 11:08 编辑
回复 3# Batcher
CSV格式的怎么搞定;也是需要去重,需要第17行开始前三列一致的行去重,即仅保留以数字1-20数字开头的行,行数不一定50个以内;
结果保留
No X-Point Y-Point
1 80.2 16.8
2 270.8 16.8
3 448.3 16.8
4 678.5 16.8
5 875.4 16.8
6 1038.1 16.8
7 1038.1 436.7
8 875.4 436.7
9 678.5 436.7
10 448.3 436.7
11 270.8 436.7
12 80.2 436.7
13 80.2 862.9
14 270.8 862.9
15 448.3 862.9
16 678.5 862.9
17 875.4 862.9
18 1038.1 862.9
19 1038.1 1283.3
20 875.4 1283.3
21 678.5 1283.3
22 448.3 1283.3
23 270.8 1283.3
24 80.2 1283.3
源内容是
bbb
Slot No 1
Date 0.00E+00
Lot ID 0.00E+00
Operator ID AGV
Cassette ID 0.00E+00
Retry 0
Recipe ID 23s
Std Min Value 0.00E+00
Std Max Value 1.00E+09
Ctl Min Value 0.00E+00
Ctl Max Value 1.00E+09
Function SHEET
Curr.Range AUTO
Volt Range AUTO
No X-Point Y-Point Data Result
1 80.2 16.8 asd OK
2 270.8 16.8 asd OK
3 448.3 16.8 asd OK
4 678.5 16.8 asd OK
5 875.4 16.8 asd OK
6 1038.1 16.8 hdfg OK
7 1038.1 436.7 asd OK
8 875.4 436.7 asd OK
9 678.5 436.7 sc OK
10 448.3 436.7 asd OK
11 270.8 436.7 asd OK
12 80.2 436.7 asd OK
13 80.2 862.9 sfs OK
14 270.8 862.9 asd OK
15 448.3 862.9 asd OK
16 678.5 862.9 asd OK
17 875.4 862.9 asd OK
18 1038.1 862.9 asd OK
19 1038.1 1283.3 asd OK
20 875.4 1283.3 asd OK
21 678.5 1283.3 asd OK
22 448.3 1283.3 asd OK
23 270.8 1283.3 0.00E+00 OK
24 80.2 1283.3 0.00E+00 OK
MAX 3.59E+02
作者: 77七 时间: 2024-8-16 12:32
- if exist new.txt del new.txt
- set/a num=0
- setlocal enabledelayedexpansion
- (for /f %%a in (a.txt) do (
- set/a num=num+1
- call :chkslt !num!
- if errorlevel 2 (
- echo %%a
- )
- ))>set2.csv
- pause
- exit
-
- :chkslt
- for /f "skip=%1" %%b in (set1.csv) do (
- if %%a==%%b (
- exit /b 1
- )
- )
- exit /b 2
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |