[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何合并两个txt并去除重复行(相同行只保留一个)?

批处理,合并2个txt文件:有相同的行就合并成1行,没有相同的全部添加到新文件里。

1.txt文件如下:
a
b
c
d
2.txt文件如下:
a
b
e
f
合并后,3.txt如下:
a
b
c
d
e
f
1

评分人数

回复 18# WHY


    多谢。。

TOP

回复 21# codegay


    多谢。。你推荐的那个软件,太好用了。。

TOP


其实,可以不搞合并这些配置文件,
一般自己用的软件也就那几个,自己手动添加屏蔽后,建立起来的规则是完全针对自己的.
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

10楼gawk的多好
  1. cat 1.txt 2.txt|sort -u >3.txt
复制代码

TOP

装逼:
  1. PowerShell -c "(get-Content 1.txt)+(get-Content 2.txt)|sort -Unique|out-file 3.txt"
复制代码
1

评分人数

TOP

回复 17# ygqiang


    大哥,你那是utf-8的好不?

TOP

回复 16# WHY


    win7 64系统环境下。
你的代码,测试就是有问题。生成新的txt,里面有乱码。
  1. @echo off
  2. for /f "delims=" %%i in ('find /v "" ^< 1.txt ^& type 2.txt') do (
  3.     if not defined _%%i (
  4.         echo;%%i>>test.txt
  5.         set _%%i=1
  6.     )
  7. )
  8. pause
复制代码
1

评分人数

    • pcl_test: 提醒过你多少次不要重复贴码PB -30

TOP

回复 15# ygqiang


    我很好奇,你的测试环境是什么?你的测试数据和测试方法又是什么?楼上一堆的代码你测试了几个?

TOP

回复 8# WHY


    处理结果有点问题。。

比如:

QQ网购每日精选---QQ网购,轻松购|TXGuiFoundation|

处理以后,会出现乱码。

TOP

本帖最后由 codegay 于 2016-3-27 09:12 编辑
  1. #="""
  2. julia文本文件合并去重.jl
  3. http://bbs.bathome.net/thread-39822-1-1.html
  4. 2016年3月27日 01:02:58 codegay
  5. """=#
  6. f1=open("1.txt")
  7. txt1=readlines(f1)
  8. txt2=readlines(open("2.txt"))
  9. txt=vcat(txt1,txt2) #以readlines取读文件流,vcat连接两个Array,julia不支持+号连接字符串和数组,支持$符内插
  10. @show length(txt)
  11. result=unique(txt) #内置函数unique去重
  12. #result=Set(txt) Set()方法把数组转为集合,集合中的元素唯一,Set是首字母大写的!
  13. @show length(result)
  14. write(open("result.txt","w+"),result) #与python不同,julia把数组写入文件不需要wirtelines
复制代码
#装B一行流
  1. write(open("result.txt","w+"),unique(vcat(readlines(open("1.txt")),readlines(open("2.txt")))))
复制代码
  1. #julia管道一行流
  2. #union("1.txt"|>open|>readlines,"2.txt"|>open|>readlines)|> xxx ->write(open("result.txt","w"),xxx);
  3. write(open("result.txt","w"),union(["1.txt"|>open|>readlines; "2.txt"|>open|>readlines]));
复制代码
2

评分人数

    • CrLf: 耐撕技术 + 1
    • happy886rr: 夙兴夜寐,新语言更适合计算。技术 + 1
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 codegay 于 2016-3-27 01:55 编辑
  1. """
  2. python文件去重合并.py
  3. 2016年3月27日 00:34:36 codegay
  4. """
  5. with open ("1.txt",encoding="utf-8") as f1, open('2.txt',encoding='utf-8') as f2, open('result.txt',"w+",encoding='utf8') as result:
  6.     result.writelines(list(frozenset(f1.readlines()+f2.readlines())))
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

== ygqiang 是版主小号...?
名字都跑到版主签名档里了.
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 pcl_test 于 2016-8-18 22:00 编辑
  1. //&cls&cscript -nologo -e:jscript "%~f0" "1.txt" "2.txt"&pause&exit
  2. var s = '', a = {}, files = WScript.Arguments;
  3. var fso = new ActiveXObject('Scripting.FileSystemObject');
  4. for (var i = 0; i<files.length; i++){
  5.     var f = fso.opentextfile(files(i), 1);
  6.     while(!f.AtEndOfStream){
  7.         var str = f.ReadLine();
  8.         if(!a[str]){
  9.             a[str] = 1;
  10.             s += str+'\r\n';
  11.             //数据太大的话还是逐行输出吧 WSH.echo(str);
  12.         }
  13.     }
  14.     f.Close();
  15. }
  16. WSH.echo(s);
复制代码

TOP

  1. gawk "!a[$0]++" 1.txt 2.txt>3.txt
复制代码

TOP

返回列表