gpt4 book ai didi

linux - 在linux中如何加入2个文件

转载 作者:太空狗 更新时间:2023-10-29 11:06:09 25 4
gpt4 key购买 nike

我有 2 个文件 file_A 和 file_B。文件 file_A 包含文件名,然后在空格后是代码行。 此代码行可以包含随机类型的字符,如空格、: 等。它看起来像这样。请注意,文件中的代码行没有被 () 包围。这仅用于说明目的。

bash$ cat file_A

file_name1 (code line a)
file_name1 (code line b)
file_name2 (code line c)
file_name2 (code line d)
file_name2 (code line e)

文件 file_B 包含 file_name 以及 file_A 中的频率

bash$cat file_B

file_name1 2
file_name2 3

我希望输出为:(frequency,file_name,code_line)

2 file_name1 (code line a)
2 file_name1 (code line b)
3 file_name2 (code line c)
3 file_name2 (code line d)
3 file_name2 (code line e)

bash$ join -1 1 -2 1 file_B file_A > file_C

我得到 file_C 作为(我得到连接字段作为第一个字段)

file_name1 2 (code line a)
file_name1 2 (code line b)
file_name2 3 (code line c)
file_name2 3 (code line d)
file_name2 3 (code line e)

如何获取第一个字段中的频率字段?

我知道通过 join 我可以使用 -o 格式并在输出中提及我想要的字段和顺序。但是我怎么说把所有放在代码行中(它可以包含任何东西,所以没有分隔符)

谢谢,

最佳答案

join file_B file_A | awk '{t=$1; $1=$2; $2=t; print}' > file_C

关于linux - 在linux中如何加入2个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4379338/

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