shell求出两个文件的交集,uniq与sort -u 两种去重的区别
浏览量:399
在网上查的结果是:
#!/bin/sh #获得 当前的地址 cur_dir=$(cd `dirname $0`; pwd) #Shell 取两个文件的交集和并集 cat $cur_dir/aa.log $cur_dir/bb.log |sort -n |uniq -d >> $cur_dir/ceshi.log
跑出来的结果是不准确的,最后没办法找个了笨方法来出来这个问题。
我先对aa和bb文件进行去重:
cat aa.log | sort -u > unip_aa.log cat bb.log | sort -u >unip_bb.log grep -F -f unip_aa.log unip_bb.log > ceshi.log
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?
$ cat test
jason
jason
jason
fffff
jason
下面分别执行三个命令
1:sort -u test
sort -u test
fffff
jason
2: uniq test
$uniq test
jason
fffff
jason
3: sort test|uniq
$sort test |uniq
fffff
jason
从上面三个命令我们很容易看出他们之间的区别。uniq所谓的重复是连续出现的相同记录
神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。