根据 ID 在 ubuntu 中合并 2 个文件

问题描述 投票:0回答:2

我有 2 个文件: 名称.txt: 1 史密斯 2 母鹿 3 金姆 4 鼠标

名字.txt: 约翰一书 4 米奇 3 荣格 3 联合国 2 简

我想制作一个文件: 用户.txt 1 约翰·史密斯 2 简·无名氏 3 金正恩 4 米老鼠

你知道最好的做法是什么吗?

我从 GLPI 的 MySQL 中提取日志已经够痛苦的了,而且对 Ubuntu 的了解还不足以找到一个简单的解决方案。

ubuntu text debian edit
2个回答
0
投票
  1. 对文件进行排序

    排序名称.txt -o 名称.txt
    排序名字.txt -o 名字.txt

  2. 合并第一列上的两个文件

    join -o 0,2.1,1.2 姓名.txt 名字.txt > 用户.txt

  3. 结果应该是这样的

1 约翰·史密斯
2 简·无名
3 金正
3 金银
4 米老鼠


-1
投票
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
chmod a+x /usr/local/bin/yq
awk 'NF{$2=":\n -" OFS $2} 1'  Name > Name1
awk 'NF{$2=":\n -" OFS $2} 1'  Firstname > Firstname1
yq eval-all '. as $item ireduce ({}; . *+ $item)' Name1 Firstname1 > Result
© www.soinside.com 2019 - 2024. All rights reserved.