合并和排序 Linux 上的文件( 二 )


$ paste file.a file.b file.c > merged_content或者,你可以将每个文件的内容在同一行中合并,然后将文件粘贴在一起 。这需要使用 -s(序列)选项 。注意这次的输出如何显示每个文件的内容:
$ paste -s file.a file.b file.cA one   A two   A threeB one   B two   B three B fourC one   C two   C thee  C four  C five使用 join合并文件的另一个命令是 join 。join 命令让你能基于一个共同字段合并多个文件的内容 。例如,你可能有一个包含一组同事的电话的文件,其中,而另一个包含了同事的电子邮件地址,并且两者均按个人姓名列出 。你可以使用 join 创建一个包含电话和电子邮件地址的文件 。
一个重要的限制是文件的行必须是相同的顺序,并在每个文件中包括用于连接的字段 。
这是一个示例命令:
$ join phone_numbers email_addressesSandra 555-456-1234 bugfarm@gmail.comPedro 555-540-5405John 555-333-1234 john_doe@gmail.comNemo 555-123-4567 cutie@fish.com在本例中,即使缺少附加信息,第一个字段(名字)也必须存在于每个文件中,否则命令会因错误而失败 。对内容进行排序有帮助,而且可能更容易管理,但只要顺序一致,就不需要这么做 。
总结在 Linux 上,你有很多可以合并和排序存储在单独文件中的数据的方式 。这些方法可以使原本繁琐的任务变得异常简单 。


推荐阅读