悠家娱乐|Linux 上的文件 | Linux 中国,合并和排序( 二 )


使用paste
paste命令允许你逐行连接文件内容 。 使用此命令时 , 合并文件的第一行将包含要合并的每个文件的第一行 。 以下是示例 , 其中我使用了大写字母以便于查看行的来源:
$catfile.aAoneAtwoAthree$pastefile.afile.bfile.cAoneBoneConeAtwoBtwoCtwoAthreeBthreeCtheeBfourCfourCfive
将输出重定向到另一个文件来保存它:
$pastefile.afile.bfile.c>merged_content
或者 , 你可以将每个文件的内容在同一行中合并 , 然后将文件粘贴在一起 。 这需要使用-s(序列)选项 。 注意这次的输出如何显示每个文件的内容:
$paste-sfile.afile.bfile.cAoneAtwoAthreeBoneBtwoBthreeBfourConeCtwoCtheeCfourCfive
使用join
合并文件的另一个命令是join 。 join命令让你能基于一个共同字段合并多个文件的内容 。 例如 , 你可能有一个包含一组同事的电话的文件 , 其中 , 而另一个包含了同事的电子邮件地址 , 并且两者均按个人姓名列出 。 你可以使用join创建一个包含电话和电子邮件地址的文件 。
一个重要的限制是文件的行必须是相同的顺序 , 并在每个文件中包括用于连接的字段 。
这是一个示例命令:
$joinphone_numbersemail_addressesSandra555-456-1234bugfarm@gmail.comPedro555-540-5405John555-333-1234john_doe@gmail.comNemo555-123-4567cutie@fish.com
在本例中 , 即使缺少附加信息 , 第一个字段(名字)也必须存在于每个文件中 , 否则命令会因错误而失败 。 对内容进行排序有帮助 , 而且可能更容易管理 , 但只要顺序一致 , 就不需要这么做 。
总结
在Linux上 , 你有很多可以合并和排序存储在单独文件中的数据的方式 。 这些方法可以使原本繁琐的任务变得异常简单 。
via:www.networkworld.com
作者:SandraHenry-Stocker选题:lujun9972译者:geekpi校对:wxy
【悠家娱乐|Linux 上的文件 | Linux 中国,合并和排序】本文由LCTT原创编译 , Linux中国荣誉推出