linux合并文件后删除,如何在Linux下合并多个文件并删除重复行

在Linux合并文件可使用cat或者paste命令,本例中以合并a.txt和b.txt为例。

源文件[编辑]

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

d8e3cc0fe47935413799cf1087d91a1d.png

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

0317fc7232a83b73542aa1d5907990d9.png

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

ed5da5dc2d78fe5e033f9c07ea9472c3.png

合并文件[编辑]

4.输入“cat a.txt b.txt > c.txt”合并b.txt文件内容到a.txt的下方并输出到c.txt。并输入“cat c.txt”输出c.txt文件内容。

注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容。

8b63b605e437ef0eff17fb683ba5a549.png

5.输入“paste a.txt b.txt > d.txt”合并b.txt文件内容到a.txt的右方并输出到d.txt。并输入“cat d.txt”输出d.txt文件内容。

注意:蓝色框内为原a.txt文件内容,黄色框内为原b.txt文件内容。

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

b4e3227514258578311e03df8f3bd4bb.png

删除重复行并显示[编辑]

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

dbeef159d32fefd4032af0953c3791b2.png

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

a7c29585a1a61f6a7d9fe8ce0ec45fe3.png

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

52ccd11287aa09f25aaebd40d4446f9d.png

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

7faa7400d9a72735f2d7eb7d5a982ad6.png

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

b6d7330c70ff03a063a4669865bac5aa.png

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

1dab204eafabd53d13243afd44206482.png

文件并集&交集&补集[编辑]

注意:文件补集和交集等操作需保证文件内容无重复行。

13.输入“cat a.txt b.txt | sort | uniq > h.txt”命令将a.txt和b.txt文件合并输出为h.txt(如果两个源文件有重复行则只保留一行),并输入“cat h.txt”查看h.txt文件内容。

0bc097ed428894bd09dfe9e50d170bb7.png

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

ec13e1e41fb8eefb9ed884260c4176b6.png

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

注意:此处因b.txt有重复行,故输出文件内容不正确。

7c8e2e6353ee8cebef61bc997975d4df.png

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

2fe9328da8605efe220643c956b5c59f.png

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

注意:此处因b1.txt无重复行,故输出文件内容正确。

6552317128044e2e4bf8d8f88c07de53.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两行),故输出文件内容不正确

1be29a8068fcd41161a86de794b9f22b.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文件内容无重复行,故输出文件内容正确

b8f238d804aa7bd3400eb1262cdcd203.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值