linux shell 合并多个文件 并删除重复行

目录

源文件

合并文件

删除重复行并显示

文件并集&交集&补集


cat a.txt b.txt | sort | uniq > h.txt

文件

1.首先输入“cd tmp”到文件目录(本例中为tmp)。

LinuxCombinFile1.png

2.输入“cat a.txt”输出a.txt文件内容

LinuxCombinFile2.png

3.输入“cat b.txt”输出b.txt文件内容

LinuxCombinFile3.png

合并文件

4.输入“cat a.txt b.txt > c.txt”合并b.txt文件内容到a.txt的下方并输出到c.txt。并输入“cat c.txt”输出c.txt文件内容。
   注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容

LinuxCombinFile4.png

5.输入“paste a.txt b.txt > d.txt”合并b.txt文件内容到a.txt的右方并输出到d.txt。并输入“cat d.txt”输出d.txt文件内容。
   注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容

LinuxCombinFile5.png

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文件的区别。

LinuxCombinFile6.png

删除重复行并显示

7.输入“cp b.txt f.txt”命令复制b.txt,新文件名为f.txt,输入“cat f.txt”命令显示文件内容

LinuxCombinFile7.png

8.输入“sort f.txt | uniq”并按回车键确定显示删除重复行(重复多行只显示一行)的结果。

LinuxCombinFile8.png

9.sort命令仅对显示结果进行删除重复行,并不修改文件,可通过输入“cat f.txt”命令查看文件内容,结果与原文件相同。

LinuxCombinFile16.png

10.输入“cp b.txt g.txt”命令复制b.txt,新文件名为g.txt,输入“cat g.txt”命令显示文件内容

LinuxCombinFile9.png

11.输入“sort g.txt | uniq -u ”并按回车键确定显示删除重复行(不显示重复行)的结果。

LinuxCombinFile10.png

12.sort命令仅对显示结果进行删除重复行,并不修改文件,可通过输入“cat g.txt”命令查看文件内容,结果与原文件相同。

LinuxCombinFile17.png

 

文件并集&交集&补集

注意:文件补集和交集等操作需保证文件内容无重复行。
13.输入“cat a.txt b.txt | sort | uniq > h.txt”命令将a.txt和b.txt文件合并输出为h.txt(如果两个源文件有重复行则只保留一行),并输入“cat h.txt”查看h.txt文件内容

LinuxCombinFile11.png

14.输入“cat a.txt b.txt | sort | uniq -c > h1.txt”命令将a.txt和b.txt文件合并输出为h1.txt(-c 参数显示每行出现的次数),并输入“cat h1.txt”查看h.txt文件内容

LinuxCombinFile19.png

15.输入“cat a.txt b.txt | sort | uniq -d > i.txt”命令(-d参数表示仅显示重复行)将a.txt和b.txt的交集输出到i.txt,并输入“cat i.txt”查看文件内容。
     注意:此处因b.txt有重复行,故输出文件内容不正确。

LinuxCombinFile12.png

16.输入“sort b.txt | uniq > b1.txt”命令将b.txt删除重复行(重复行只保留一行)的结果输出为b1.txt文件,并输入“cat b1.txt”查看文件内容

LinuxCombinFile13.png

17.输入“cat a.txt b1.txt | sort | uniq -d > j.txt”命令(-d参数表示仅显示重复行)将a.txt和b1.txt的交集输出到j.txt,并输入“cat j.txt”查看文件内容。
     注意:此处因b1.txt无重复行,故输出文件内容正确。

LinuxCombinFile14.png

18.输入“cat a.txt b.txt | sort | uniq -u > k.txt”命令(-u参数表示仅显示文件中不重复行)将删除a.txt和b.txt文件的交集(111和777两行),并将其他内容输出到k.txt, 输入“cat k.txt”查看文件内容。
    注意:因b.txt文件内容有重复行(aaa和bbb两行),故输出文件内容不正确

LinuxCombinFile15.png

19.输入“cat a.txt b1.txt | sort | uniq -u > k1.txt”命令(-u参数表示仅显示文件中不重复行)将删除a.txt和b1.txt文件的交集(111和777两行),并将其他内容输出到k1.txt, 输入“cat k.txt”查看文件内容。
    注意:因b1.txt文件内容无重复行,故输出文件内容正确

LinuxCombinFile18.png

 

 

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...