gpt4 book ai didi

regex - 使用 sed 操作巨大的 CSV 文件

转载 作者:行者123 更新时间:2023-12-02 07:55:24 25 4
gpt4 key购买 nike

我有一组 4 个大型 CSV 文件需要修改。我需要做的是匹配此表达式 /^(.*),,/ 复制原子,然后将其添加到每个后续行,直到再次匹配原子。然后我需要冲洗并重复直到文件末尾(每个文件中有大约 25k 行)。最后,我需要返回并移除第一个原子。

如果可能的话,我想为此使用 sed。我尝试用 vim 来做,但无法正确使用正则表达式。任何帮助将不胜感激。示例如下:

之前:

0917,,
,882-1273,1
,95F 9475,1
,276-080,1
,40K 0080,1
,275-690A,1
,TX-2311,3
,TX-3351,4
,B-07432,1
,B-6901,1
,23-753,1
,02F 4307,1
,5.1K QBK-ND,1
,0944-026,1
,0944-027,1
,0944-004,1
,0944-056,1
,0944-057,1
,0944-082,1
,0944-024,1
,0944-025,1
,0944-102,4
,LOR 102,1
0918,,
,CJ1085,1
,1352-152,4
,DMS3102A-18-,1
,6-32 KEP,7
,6-32 X 3/4,4
,6-32X1/2,4
,1251-102,8
,Oct-32,4
,10-32 SAE,8

之后:

0917,882-1273,1
0917,95F 9475,1
0917,276-080,1
0917,40K 0080,1
0917,275-690A,1
0917,TX-2311,3
0917,TX-3351,4
0917,B-07432,1
0917,B-6901,1
0917,23-753,1
0917,02F 4307,1
0917,5.1K QBK-ND,1
0917,0944-026,1
0917,0944-027,1
0917,0944-004,1
0917,0944-056,1
0917,0944-057,1
0917,0944-082,1
0917,0944-024,1
0917,0944-025,1
0917,0944-102,4
0917,LOR 102,1
0918,CJ1085,1
0918,1352-152,4
0918,DMS3102A-18-,1
0918,6-32 KEP,7
0918,6-32 X 3/4,4
0918,6-32X1/2,4
0918,1251-102,8
0918,Oct-32,4
0918,10-32 SAE,8

最佳答案

正如我在您之前关于同一主题的问题中指出的那样,我发现 Perl 更容易:

#!/usr/bin/perl

use strict;
use warnings;

my $prefix = q{};

while ( <> ) {
last unless /\S/;
if ( /^(.+),,$/ ) {
$prefix = $1;
next;
}
print $prefix, $_;
}

关于regex - 使用 sed 操作巨大的 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1173985/

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