在 Windows 上从 2 个文本文件获取地图数据

在 Windows 上从 2 个文本文件获取地图数据

我有 2 个文本文件,例如 file1 和 file2 file1 的 A 列包含一系列 ID,例如 ID1、ID2、ID3。每个 ID 都有几个子项,例如 ID1 有 child1、child2、child3;ID2 有 child4、child5 等等...每个子 ID 都是唯一的。file2 的 B 列包含一个列表,其中列出 file1 中定义的所有 childX 以及其他属性,例如位置等。任务是:找到 file1 的 ID 和 file2 的子 ID 之间的映射。换句话说,用户想知道查看 file2 时只看到子 ID,它们来自 file1 中的哪个 ID...抱歉,这有点麻烦。我的问题:我理解可以通过编程方式完成,例如使用 python 等,但是我可以使用任何 Unix 实用程序,例如 cygwin,如 grep 或 diff 等来进行这种映射吗?谢谢 PS 重点是:是否可以不使用脚本来完成...而只需运行一些 unix 实用程序。在我看来,这个任务像是通过合并两个表来获取数据。

答案1

cygwin 软件包 coreutils 提供了该join命令。据报道
https://www.gnu.org/software/coreutils/manual/html_node/join-invocation.html#join-invocation

连接:在公共字段上连接行

join 将每对具有相同连接字段的输入行写入标准输出。概要:

join [option]… file1 file2

file1 或 file2(但不能同时为两者)可以是 '-',表示标准输入。file1 和 file2 应该按连接字段排序。

请参阅链接或手册页以了解完整用法。

相关内容