我有 2 个文件: 名称.txt: 1 史密斯 2 母鹿 3 金姆 4 鼠标
名字.txt: 约翰一书 4 米奇 3 荣格 3 联合国 2 简
我想制作一个文件: 用户.txt 1 约翰·史密斯 2 简·无名氏 3 金正恩 4 米老鼠
你知道最好的做法是什么吗?
我从 GLPI 的 MySQL 中提取日志已经够痛苦的了,而且对 Ubuntu 的了解还不足以找到一个简单的解决方案。
对文件进行排序
排序名称.txt -o 名称.txt
排序名字.txt -o 名字.txt
合并第一列上的两个文件
join -o 0,2.1,1.2 姓名.txt 名字.txt > 用户.txt
结果应该是这样的
1 约翰·史密斯
2 简·无名
3 金正
3 金银
4 米老鼠
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