“如何在Linux下合并多个文件并删除重复行”的版本间的差异
来自YTYZX有图有真相的百科
第1行: | 第1行: | ||
在Linux合并文件可使用cat或者paste命令,本例中以合并a.txt和b.txt为例。 | 在Linux合并文件可使用cat或者paste命令,本例中以合并a.txt和b.txt为例。 | ||
+ | |||
+ | == 源文件 == | ||
+ | |||
1.首先输入“cd tmp”到文件目录(本例中为tmp)。 | 1.首先输入“cd tmp”到文件目录(本例中为tmp)。 | ||
[[File:LinuxCombinFile1.png]] | [[File:LinuxCombinFile1.png]] | ||
第6行: | 第9行: | ||
3.输入“cat b.txt”输出b.txt文件内容。 | 3.输入“cat b.txt”输出b.txt文件内容。 | ||
[[File:LinuxCombinFile3.png]] | [[File:LinuxCombinFile3.png]] | ||
+ | |||
+ | == 合并文件 == | ||
+ | |||
4.输入“cat a.txt b.txt > c.txt”合并b.txt文件内容到a.txt的下方并输出到c.txt。并输入“cat c.txt”输出c.txt文件内容。 | 4.输入“cat a.txt b.txt > c.txt”合并b.txt文件内容到a.txt的下方并输出到c.txt。并输入“cat c.txt”输出c.txt文件内容。 | ||
注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容。 | 注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容。 | ||
第33行: | 第39行: | ||
== 文件并集&交集 == | == 文件并集&交集 == | ||
− | 13. | + | 注意:文件并集和交集等操作需保证文件内容无重复行。 |
+ | 13. 输入“cat a.txt b.txt | sort | uniq > h.txt”命令将a.txt和b.txt文件合并输出为h.txt(如果两个源文件有重复行则只保留一行),并输入“cat h.txt”查看h.txt文件内容。 | ||
+ | [[File:LinuxCombinFile11.png]] | ||
+ | 14.输入“cat a.txt b.txt | sort | uniq -d > i.txt”命令将a.txt和b.txt的交集输出到i.txt,并输入“cat i.txt”查看文件内容。 | ||
+ | 注意:此处输出文件内容不正确。 | ||
+ | [[File:LinuxCombinFile12.png]] |
2016年10月2日 (日) 13:53的版本
在Linux合并文件可使用cat或者paste命令,本例中以合并a.txt和b.txt为例。
源文件
1.首先输入“cd tmp”到文件目录(本例中为tmp)。
2.输入“cat a.txt”输出a.txt文件内容。
3.输入“cat b.txt”输出b.txt文件内容。
合并文件
4.输入“cat a.txt b.txt > c.txt”合并b.txt文件内容到a.txt的下方并输出到c.txt。并输入“cat c.txt”输出c.txt文件内容。 注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容。
5.输入“cat a.txt b.txt > d.txt”合并b.txt文件内容到a.txt的右方并输出到d.txt。并输入“cat d.txt”输出d.txt文件内容。 注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容。
6.输入“cat a.txt b.txt | sort | uniq | > e.txt”合并a.txt和b.txt文件内容并删除重复行,将结果输出到e.txt。并输入“cat e.txt”输出e.txt文件内容。 注意e.txt与上图c.txt文件的区别。
删除重复行并显示
7.输入“cp b.txt f.txt”命令复制b.txt,新文件名为f.txt,输入“cat f.txt”命令显示文件内容。
8.输入“sort f.txt | uniq”并按回车键确定显示删除重复行(重复多行只显示一行)的结果。
9.sort命令仅对显示结果进行删除重复行,并不修改文件,可通过输入“cat f.txt”命令查看文件内容,结果与原文件相同。
10.输入“cp b.txt g.txt”命令复制b.txt,新文件名为g.txt,输入“cat g.txt”命令显示文件内容。
11.输入“sort g.txt | uniq -u ”并按回车键确定显示删除重复行(不显示重复行)的结果。
12.sort命令仅对显示结果进行删除重复行,并不修改文件,可通过输入“cat g.txt”命令查看文件内容,结果与原文件相同。
文件并集&交集
注意:文件并集和交集等操作需保证文件内容无重复行。 13.输入“cat a.txt b.txt | sort | uniq > h.txt”命令将a.txt和b.txt文件合并输出为h.txt(如果两个源文件有重复行则只保留一行),并输入“cat h.txt”查看h.txt文件内容。
14.输入“cat a.txt b.txt | sort | uniq -d > i.txt”命令将a.txt和b.txt的交集输出到i.txt,并输入“cat i.txt”查看文件内容。 注意:此处输出文件内容不正确。