gpt4 book ai didi

regex - 在字符模式之间匹配 N 行,移动 N 行以与字符模式内联

转载 作者:行者123 更新时间:2023-12-05 08:31:48 25 4
gpt4 key购买 nike

我正在解析维基百科表格。该表包含数据如下

Tonga
0
Trinidad and Tobago
10
14
24
Tunisia
10
6
16
Turkey
12
14.5
26.5

我想要一个正则表达式(可在终端中执行,最好是 sed 或类似的)将任意数量的 N 行数字移动到上面的 A-Z 国家/地区名称

预期的输出是:

Tonga,0
Trinidad and Tobago,10,14,24
Tunisia,10,6,16
Turkey,12,26.5

我还没有接近,这是我最大的努力。感谢您的智慧

perl -pe 's/^[0-9]*$/\n,/g'

产生


,
Trinidad and Tobago

,

,

,
Tunisia

,

,

,
Turkey

,
14.5
26.5

这是不正确的,因为我正在替换 WITH \n 并且需要用其他内容替换 \n。不幸的是,我不知道是否可以将 \n 与 sed/perl

匹配

我尝试了 tr,但我还是不知道如何在输出上保持匹配。它用

替换所有字符

tr 'A-z\n' ','

生产,,,,,,0,,,,,,,,,,,,,,,,,,,10,14,24,,,,,,,,,10,6,16,, ,,,,,,12,14.5,26.5,

最佳答案

$ awk '{printf "%s%s", (/^[0-9]/ ? "," : s), $0; s=ORS} END{print ""}' file
Tonga,0
Trinidad and Tobago,10,14,24
Tunisia,10,6,16
Turkey,12,14.5,26.5

关于regex - 在字符模式之间匹配 N 行,移动 N 行以与字符模式内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55410403/

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