gpt4 book ai didi

linux - 仅当第二个文本文件中也存在时,才基于第一个文本文件中的第二个字段组合两个文本文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:26 26 4
gpt4 key购买 nike

我有两个文本文件,我想以某种方式组合它们,但要根据第一个文件中的第二个字段进行替换。下面是第一个文件的格式。这是来自语料库的单词。

file_1.txt

1000 the
999 been
950 phone
850 ball
800 watch
799 porch

文件 2 是一些可以在第一个文件中找到的词,但从第二个字段开始对该词进行分割。

file_2.txt

the th e
been be en
shirt sh ir t
phone pho ne
desk d esk
chair cha i r
watch wa t c h
floor f loo r

下面是我想得到的。当两个文件中都存在单词时,我喜欢只从第二个文件中分解单词。

file_3.txt

1000 th e
999 be en
950 pho ne
850 ball
800 wa t c h
799 porch

我一直在尝试根据字段在两个文件之间做一些排序的事情,但我很迷茫。

最佳答案

你可以使用 Awk:

awk 'FNR == NR { m[$2]=$1 } FNR != NR && $1 in m { w=$1; $1=""; print m[w] $0}' file_1.txt file_2.txt

即:

  • 对于第一个文件中的每一行,构建一个word -> id的map>
  • 对于第二个文件中的每一行:
    • 将第一个字段(单词)保存在变量中
    • 清除第一个字段
    • 使用 map 和单词打印id,以及该行的其余部分

关于linux - 仅当第二个文本文件中也存在时,才基于第一个文本文件中的第二个字段组合两个文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44874118/

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