在linux合并文件,去除重复项

在windows里合并文件,可以用copy命令。相信很多人都知道copy能复制,没想到还有合并文件的功能吧。

copy  /b *.txt  all.txt

此命令把所有的文本文件的内容合并到一个文件,加/b为了最后一行不会出现特殊字符,/b表示处理的是二进制文件。

但是合并时不能换行,反正我不会。。哈哈

还是linux命令更加强大,

awk '{printf("%s\n",$0)}'   ap*201308??.txt >  all.txt

将ap开头并且201308后有且只有两位字符的txt文件进行合并,加\n可以在每行加上换行。

如果有重复的怎么办呢?你还在用excel2007去除重复项?太土了吧,况且此功能不好用,有逗号存在的时候就会判断不准,不信的同学可以试一试。

 

教大家一招牛逼的,linux去除重复项,并且排序。

cat all.txt | sort | uniq >  uniq.txt

参数|sort 是排序 | uniq是重复项。去除重复项必须排序,因为只能去除相邻行的重复项。。这也是可以理解的,如果再全部文件找重复项效率就低了。

效率很高,上w行数据几秒钟搞定。

又发现了cat的新用法,看来以后再熟悉的命令也要--help一下了

 

 

posted on 2013-08-31 00:43  javaWorkspace  阅读(753)  评论(0编辑  收藏  举报

导航