标题: [文本处理] 求助批处理对比2个txt文件,提取不同的数据另存。 [打印本页]
作者: pcisong 时间: 2023-2-14 18:24 标题: 求助批处理对比2个txt文件,提取不同的数据另存。
请求支援,今天遇到一个问题,文件格式txt,原始数据315万行,数据处理后296万行,现发现少了1万行,需要找出剩下的19万行。
请求代码:对比2个txt文件,不同的数据提取出来另存。
作者: hfxiang 时间: 2023-2-14 19:35
是不是求File1.txt与File2.txt的差集?试试如下gawk(http://bcn.bathome.net/tool/4.1.3/gawk.exe)脚本- gawk "NR==FNR{a[$0]=1;next}!a[$0]++{print $0;a[$0]++}END{for(i in a)if(a[i]==1)print i}" File1.txt File2.txt>File3.txt
复制代码
作者: 1073 时间: 2023-2-14 20:19
From ChatGPT:- @echo off
-
- findstr /v /g:file1.txt file2.txt > result.txt
-
- echo Differences saved to result.txt.
复制代码
上面的代码假设 file1.txt 是要进行比较的第一个文件,file2.txt 是要进行比较的第二个文件,result.txt 是保存不同数据的结果文件。
作者: 23618342 时间: 2023-2-15 09:04
gpt yyds,哈哈哈
作者: Batcher 时间: 2023-2-15 11:29
回复 3# 1073
这个命令的结果很大的可能性是错误的,给findstr命令加上/x参数更靠谱。
作者: 881966 时间: 2023-2-15 18:21
要是比较的文本带有特殊字符怎么处理?
作者: terse 时间: 2023-2-15 19:21
powershell- $array1 = [IO.File]::ReadAllLines('a.txt')
- $array2 = [IO.File]::ReadAllLines('b.txt')
- (Compare $array1 $array2 ).InputObject | Out-File "c.txt"
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |