gpt4 book ai didi

bash - 如何使用 bash 脚本拆分包含多条记录的行

转载 作者:行者123 更新时间:2023-11-29 09:25:14 25 4
gpt4 key购买 nike

我有一个格式的文件:

Heading1 Heading2 A1 A2 B1 B2 
Heading3 Heading4 A3 A4 B3 B4 C1 C2

等等

每一行包含属于相同标题的多条记录。我想做的是拆分这些记录,保留它们的标题。在上面的示例中,我想生成以下内容:

Heading1 Heading2 A1 A2
Heading1 Heading2 B1 B2
Heading3 Heading4 A3 A4
Heading3 Heading4 B3 B4
Heading3 Heading4 C1 C2

我的主要问题是每行的记录数不是常量。

编辑: 每行有 2 个标题和 N 条记录,每条记录用 2 个字段表示。所以线的长度的一般形式是2+2*N。所以它总是均匀的

最佳答案

简短的 awk 解决方案:

awk '{ for(i=3;i<=NF;i+=2) print $1,$2,$i,$(i+1) }' file

输出:

Heading1 Heading2 A1 A2
Heading1 Heading2 B1 B2
Heading3 Heading4 A3 A4
Heading3 Heading4 B3 B4
Heading3 Heading4 C1 C2

  • for(i=3;i<=NF;i+=2) - 从第 3 个开始遍历字段(i+=2 - 成对迭代)

关于bash - 如何使用 bash 脚本拆分包含多条记录的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44737019/

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