gpt4 book ai didi

awk - 使用 awk 每隔一行移动到一个新列

转载 作者:行者123 更新时间:2023-12-04 13:14:04 24 4
gpt4 key购买 nike

这是另一个菜鸟问题。我有一个这样的文件

约翰
30
麦克风
0.0786268
泰森
0.114889
加布里埃尔
0.176072
菲奥娜
0.101895

我需要每隔一行移到一个新列,所以它应该是这样的

约翰福音 30
迈克 0.0786268
泰森 0.114889
加布里埃尔 0.176072
菲奥娜 0.101895

我刚才说awk 'NR%2==0'将每隔一行打印一次,有人可以建议我如何将它们移到上面的新列。非常感谢任何帮助。

最佳答案

awk '{printf "%s%s",$0,(NR%2?FS:RS)}' file

解释:
  • printf不会在行尾包含换行符(与 print 不同)
  • (NR%2?FS:RS)基于 NR%2 决定新行 (RS) 或字段分隔符 (FS)

  • 如果您的列应该由 \t 分隔
    awk '{printf "%s%s",$0,NR%2?"\t":RS}'

    关于awk - 使用 awk 每隔一行移动到一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14067523/

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