请教:没有用找出重复和追加的好方法?

2016-07-30 08:00:13 +08:00
 338899
打个比方: a.txt 是一份手机号码; 1 个月后收到 b.txt 手机号码,但是 b.txt 号可能和 a 有重复。
需求:把 b.txt 剔除 a 的重复,只保留 a.txt 没有的号码。

朋友们有没有什么简易的方法呢?

谢谢了。。。
3073 次点击
所在节点    程序员
36 条回复
choury
2016-07-30 08:06:04 +08:00
sort | uniq
ferran
2016-07-30 08:10:43 +08:00
先排序,然后双指针查
Valyrian
2016-07-30 08:14:06 +08:00
@choury 其实有一个 sort -u...
SlipStupig
2016-07-30 08:17:00 +08:00
cat a.txt b.txt | uniq | sort -u
lcorange
2016-07-30 08:42:43 +08:00
java hashmap
aeshfawre
2016-07-30 08:56:22 +08:00
cszhiyue
2016-07-30 08:58:33 +08:00
caixiexin
2016-07-30 09:13:28 +08:00
如果是固定格式,比如逗号分隔或一行一个,导入 excel 就能处理了吧?
zhuangzhuang1988
2016-07-30 09:15:15 +08:00
简单的白名单黑名单问题.
http://algs4.cs.princeton.edu/30searching/
到这里找..
secondwtq
2016-07-30 09:17:45 +08:00
两位玩 shell 的理解错需求了吧
是 a 里面是 1 3 5 7 9 , b 里面的是 0 1 2 3 4 5 6 7 8 9
楼主要的是 0 2 4 6 8

sort uniq 下来是 0 1 2 3 4 5 6 7 8 9 ...
338899
2016-07-30 09:28:11 +08:00
@aeshfawre
兄台这个我不太会用啊, windows 下有没有?
338899
2016-07-30 09:28:30 +08:00
@caixiexin 兄台这个我不太会用啊, windows 下有没有?
chengluyu
2016-07-30 09:35:31 +08:00
comm -23 <(sort a.txt) <(sort b.txt) | uniq
500miles
2016-07-30 09:53:51 +08:00
sort a.txt <(sort -u b.txt) | uniq -u
500miles
2016-07-30 09:56:10 +08:00
@chengluyu comm 更好用一些👍
aeshfawre
2016-07-30 10:14:35 +08:00
看完楼主的回答,楼主应该,命令行,python 都不太熟悉.
所以楼主需要的是这种玩意:
![]( http://i1.piimg.com/4851/dac0443a4780c8fb.png)

面向非程序员的东西,是收费的.
qqmishi
2016-07-30 10:30:43 +08:00
理论上可以在 excel 里面用 VBA 解决
zhx1991
2016-07-30 10:34:53 +08:00
如果不追求效率(看起来确实这样)

不用在算法上玩花样

随便找个语言把 a 里的遍历出来一个一个去 b 里看好了
UnisandK
2016-07-30 10:46:20 +08:00


Beyond Compare
cmxz
2016-07-30 10:48:30 +08:00
@secondwtq cat a.txt b.txt|sort|uniq -d>c.txt
cat b.txt c.txt|sort|uniq -u

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/295936

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX