awk:将列标题转置到行的第一个字段

用户名

我的输入如下所示:

A|B|C
1|2|3
4|5|6

使用awk,我正在尝试获取:

A|1
B|2
C|3
A|4
B|5
C|6

我的代码:

gawk '
BEGIN{FS=OFS="|"}
NR==1{
    for(i=1; i<=NF; i++){
        x_i=$i
    }
}
NR>1{
    for(i=1; i<=NF; i++){
        print x_i FS $i
    }
}' input  

但是,NR==1即使我在NR>1bock中使用相同的循环,它也只保留该的最后一次迭代

C|1
C|2
C|3
C|4
C|5
C|6

有什么把戏吗?

编辑

感谢何塞,我需要改变x_ix[i]

如果使用相同的输入该怎么办,我将需要输出:

A;B;C|1|2|3
A;B;C|4|5|6
何塞·里卡多·布斯托斯M.

你可以试试,

awk 'BEGIN{FS=OFS="|"}
     NR==1{for(i=1; i<=NF; ++i) d[i]=$i; next}
     {for(i=1; i<=NF; ++i) print d[i], $i}
' input

你得到

A|1
B|2
C|3
A|4
B|5
C|6

重要的提示

您的逻辑是正确的,仅x[i]代替x_i

gawk '
BEGIN{FS=OFS="|"}
NR==1{
    for(i=1; i<=NF; i++){
        x[i]=$i
    }
}
NR>1{
    for(i=1; i<=NF; i++){
        print x[i] FS $i
    }
}' input

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将AWK中的第一个字段用作文件名

来自分类Dev

多个字段上的键入仅在第一个字段上激活?

来自分类Dev

在Orbeon Forms中,为什么将焦点设置为第一个输入字段而不是第一个字段?

来自分类Dev

将第一个字符串复制到第二行

来自分类Dev

SQL:基于行中的第一个字段将2行合并为1行

来自分类Dev

删除重复的行,并立即忽略第一个字段

来自分类Dev

拆分转置不考虑将第一个字符用作分隔符-可以选择吗?

来自分类Dev

将第一个数组值复制到MongoDB中的另一个字段

来自分类Dev

将“ distinct”字段作为查询中的第一个字段是强制性的吗?

来自分类Dev

如何计算第一个字段

来自分类Dev

找到第二个字段的差异,使用第一个字段报告(awk)

来自分类Dev

将AWK中的第一个字段用作文件名

来自分类Dev

在第一个字段中用awk替换字符串的一部分

来自分类Dev

Sed / Awk脚本可根据第一个字符打印字段

来自分类Dev

按第一个字段在一行中转换值

来自分类Dev

为什么awk split()使第一个字段成为数组中的最后一个元素?

来自分类Dev

如何使用awk在输出的第一个字段中添加字符串?

来自分类Dev

awk比较两个文件并在文件1中打印第一个字段

来自分类Dev

根据第一个字段分割文件行

来自分类Dev

从大文件中删除重复的第一个字段/列的行

来自分类Dev

如何在awk中提取行的第一个字母字符的索引

来自分类Dev

awk + 如何计算第一个字段中的单词

来自分类Dev

打印标题作为第一个字段 - bash

来自分类Dev

文本框第一个字母到标题大小写的类

来自分类Dev

当字段分隔符也是 a 时,如何用 awk 替换第一个字段中的 a ,

来自分类Dev

CSV 行的第一个字母移至字段末尾

来自分类Dev

将 WCHAR* 中的第一个字符复制到 LPWCSTR

来自分类Dev

awk NR 变量未按预期工作,在请求第一个字段时获取整行

来自分类Dev

Oracle SQL:如何将列标题的第一个字符而不是值大写?

Related 相关文章

  1. 1

    将AWK中的第一个字段用作文件名

  2. 2

    多个字段上的键入仅在第一个字段上激活?

  3. 3

    在Orbeon Forms中,为什么将焦点设置为第一个输入字段而不是第一个字段?

  4. 4

    将第一个字符串复制到第二行

  5. 5

    SQL:基于行中的第一个字段将2行合并为1行

  6. 6

    删除重复的行,并立即忽略第一个字段

  7. 7

    拆分转置不考虑将第一个字符用作分隔符-可以选择吗?

  8. 8

    将第一个数组值复制到MongoDB中的另一个字段

  9. 9

    将“ distinct”字段作为查询中的第一个字段是强制性的吗?

  10. 10

    如何计算第一个字段

  11. 11

    找到第二个字段的差异,使用第一个字段报告(awk)

  12. 12

    将AWK中的第一个字段用作文件名

  13. 13

    在第一个字段中用awk替换字符串的一部分

  14. 14

    Sed / Awk脚本可根据第一个字符打印字段

  15. 15

    按第一个字段在一行中转换值

  16. 16

    为什么awk split()使第一个字段成为数组中的最后一个元素?

  17. 17

    如何使用awk在输出的第一个字段中添加字符串?

  18. 18

    awk比较两个文件并在文件1中打印第一个字段

  19. 19

    根据第一个字段分割文件行

  20. 20

    从大文件中删除重复的第一个字段/列的行

  21. 21

    如何在awk中提取行的第一个字母字符的索引

  22. 22

    awk + 如何计算第一个字段中的单词

  23. 23

    打印标题作为第一个字段 - bash

  24. 24

    文本框第一个字母到标题大小写的类

  25. 25

    当字段分隔符也是 a 时,如何用 awk 替换第一个字段中的 a ,

  26. 26

    CSV 行的第一个字母移至字段末尾

  27. 27

    将 WCHAR* 中的第一个字符复制到 LPWCSTR

  28. 28

    awk NR 变量未按预期工作,在请求第一个字段时获取整行

  29. 29

    Oracle SQL:如何将列标题的第一个字符而不是值大写?

热门标签

归档