gpt4 book ai didi

linux - 根据第一个文本文件的第一列合并两个未排序的文本文件并保留顺序

转载 作者:太空宇宙 更新时间:2023-11-04 04:41:30 24 4
gpt4 key购买 nike

在 Linux 上,如何根据第一个文件的第一列合并两个未排序的文本文件并保留顺序(从第一个文件开始)。

第一个:

DAC
CAD
ADC
BAC

第二个:

CAD:word
DAC:dog
BAC:house

合并文件:

DAC:dog
CAD:word
ADC
BAC:house

正如我所说,合并文件的行必须与第一个文件的行顺序相同。

提前谢谢您。

最佳答案

尝试 awk:

awk -F: 'FNR==NR{a[$1]=$0;next}{if($1 in a){print a[$1];} else {print;}}' file2 file1

“-F:”将字段分隔符设置为冒号。 “FNR==NR”之后的大括号中的位仅在处理 file2 时适用。它将整行保存在关联数组“a”中,该数组由冒号左侧 field1 中的任何内容索引。第二组花括号中的位适用于 file1。读取每一行时,我会检查“word”是否在读取 file2 时创建的关联数组“a”中,如果是,则打印在 file2 中找到的整行,如果不是,则只打印文件 1 中的当前行。

关于linux - 根据第一个文本文件的第一列合并两个未排序的文本文件并保留顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com