免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2338 | 回复: 17
打印 上一主题 下一主题

[文本处理] 文件夹A、文件夹B对比里面的文档后,生成文件夹C [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-07-20 19:14 |只看该作者 |倒序浏览



文件夹A  与   文件夹B  各自里面有相同的n个.txt文档,且文件名字分别相同。
如:

文件夹A里面的文档是
1.txt
2.txt
3.txt
4.txt

文件夹B里面的文档是
2.txt
1.txt
4.txt
3.txt

要求:
文件夹A与文件夹B里面的只是相同的文件名字的文档对比,后,只提取出,文件夹B里面各自相同名字的文档的差异部分。

文档的差异部分,放到新生成的文件夹里面,取名,文件夹C

注意:对比后的文档的差异部分,仍取名与对比时的文档名字一样,即

输出:

文件夹C里面的文档是(对比后的文档总数量也可能小于四个文档)
1.txt
2.txt
3.txt
4.txt














论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
2 [报告]
发表于 2018-07-23 10:19 |只看该作者
本帖最后由 chengchow 于 2018-07-23 11:00 编辑
  1. for i in `ls A`;do
  2.     comm -3 A/$i B/$i  > C/$i
  3. done
复制代码

论坛徽章:
0
3 [报告]
发表于 2018-07-23 11:03 |只看该作者
回复 2# chengchow
三天了,没人来。我认为黄了呢。谢谢




没看懂怎样运行

1、把文件夹A、B、C 分别放在\bin里面,运行你的代码,不行

    尝试cd A  后\bin\A  ,也不行

2、尝试.bat 的办法来运行,也不行

3、另外

LANG=C grep -vFf  a.txt b.txt>c.txt   

#(为说明问题,能看明白) 假设:
文件夹A中相同文件名字的文档  1.txt=a.txt  
文件夹B中相同文件名字的文档  1.txt=b.txt   
输出  文件夹C中相同文件名字的文档  1.txt=c.txt

我的意思,代码中没看到这种比较后的输出啊?



我不会了













论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
4 [报告]
发表于 2018-07-23 11:57 |只看该作者
本帖最后由 chengchow 于 2018-07-23 12:07 编辑

把A,B,C放到同一个目录就可以了,比如说/tmp/{A,B,C}

运行命令在/tmp下运行,命令模式需要改下,这是脚本(需要A,B里面文件名相同)

mkdir -p C;for i in `ls A`;do comm -3 A/$i B/$i  > C/$i;done  ##命令
如果不同,需要先做个列表或者字典

完整命令如下
mkdir -p /PATH/TO/C;for i in `find /PATH/TO/A -type f`;do comm -3 /PATH/TO/A/$i /PATHTO/B/$i  > /PATH/TO/C/$i;done

论坛徽章:
0
5 [报告]
发表于 2018-07-23 12:52 |只看该作者
回复 4# chengchow

两个代码都一样状况。

1.jpg (26.01 KB, 下载次数: 15)

1.jpg

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
6 [报告]
发表于 2018-07-23 13:01 |只看该作者
回复 5# rtzd
这是linux代码


论坛徽章:
0
7 [报告]
发表于 2018-07-23 13:24 |只看该作者
回复 6# chengchow


再不会了。

2.jpg (25.99 KB, 下载次数: 17)

2.jpg

3.jpg (10.25 KB, 下载次数: 13)

3.jpg

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
8 [报告]
发表于 2018-07-23 14:41 |只看该作者
本帖最后由 chengchow 于 2018-07-23 14:48 编辑

回复 7# rtzd
找台linux去处理吧,windows循环好办,comm命令好像真没有!

@,天天宣传powershell,这里有个现例,快出来解决


论坛徽章:
0
9 [报告]
发表于 2018-07-23 15:57 |只看该作者
本帖最后由 rtzd 于 2018-07-23 16:06 编辑

回复 8# chengchow


你仔细看看5楼,我就是放在cygwin  里面处理啊
我专门设了一个文件夹,命名1   然后cd 1进到 文件夹1里面,再运行你的代码


不行啊,咋回事?

三天没人来,只有你出来出手。谢谢









论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
10 [报告]
发表于 2018-07-23 16:37 |只看该作者
回复 5# rtzd


done左边那个分号不能是中文的;
改成英文的;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP