gpt4 book ai didi

csv - 将 block 中的行转换为制表符分隔

转载 作者:IT王子 更新时间:2023-10-29 00:47:50 28 4
gpt4 key购买 nike

我在 2 个 block 中有以下几行(实际上有 ~10K)。在此示例中,每个 block 包含 3 行。 block 由空行分隔。所以 block 就像“段落”。

xox
91-233
chicago

koko
121-111
alabama

我想把它变成制表符分隔的行,像这样:

xox  91-233  chicago
koko 121-111 alabama

我该怎么做?

我尝试了 tr "\n""\t",但它没有按照我的要求进行。

最佳答案

$ awk -F'\n' '{$1=$1} 1' RS='\n\n' OFS='\t' file
xox 91-233 chicago
koko 121-111 alabama

工作原理

Awk 将输入分成记录,并将每条记录分成字段。

  • -F'\n'

    这告诉 awk 使用换行符作为字段分隔符。

  • $1=$1

    这告诉 awk 将第一个字段分配给第一个字段。虽然这似乎什么都不做,但它会导致 awk 将记录视为已更改。因此,使用我们为 ORS(输出记录分隔符)分配的值打印输出。

  • 1

    这是 awk 用于打印该行的神秘速记。

  • RS='\n\n'

    这告诉 awk 将两个连续的换行符视为记录分隔符。

  • OFS='\t'

    这告诉 awk 使用制表符作为输出的字段分隔符。

关于csv - 将 block 中的行转换为制表符分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38088799/

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