2025-03-14 21:59:59 -06:00
|
|
|
|
# join
|
|
|
|
|
|
|
|
|
|
|
|
> 在两个已排序的文件中根据一个公共字段合并行。
|
2026-02-18 06:55:01 -07:00
|
|
|
|
> 更多信息:<https://www.gnu.org/software/coreutils/manual/html_node/join-invocation.html>。
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
|
|
- 根据第一个(默认)字段合并两个文件:
|
|
|
|
|
|
|
|
|
|
|
|
`join {{路径/到/文件1}} {{路径/到/文件2}}`
|
|
|
|
|
|
|
|
|
|
|
|
- 使用逗号(而不是空格)作为字段分隔符合并两个文件:
|
|
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
|
`join -t ',' {{路径/到/文件1}} {{路径/到/文件2}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
|
|
- 将文件1的字段3与文件2的字段1合并:
|
|
|
|
|
|
|
|
|
|
|
|
`join -1 {{3}} -2 {{1}} {{路径/到/文件1}} {{路径/到/文件2}}`
|
|
|
|
|
|
|
|
|
|
|
|
- 为文件1中的每行未配对的行生成一行:
|
|
|
|
|
|
|
|
|
|
|
|
`join -a {{1}} {{路径/到/文件1}} {{路径/到/文件2}}`
|
|
|
|
|
|
|
|
|
|
|
|
- 从 `stdin` 合并一个文件:
|
|
|
|
|
|
|
|
|
|
|
|
`cat {{路径/到/文件1}} | join - {{路径/到/文件2}}`
|