gpt4 book ai didi

linux - 通过 egrep 过滤 CSV 中的值

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:50 24 4
gpt4 key购买 nike

我有一个 CSV 文件,需要将值分成单独的 CSV 文件。

它已经有一个现有的代码:\

  1. 第一个子文件需要一个包含第一个和第二个字段值的文件

    egrep "^[^,]+,[^,]+,"orig.csv > suba.csv

  2. 第二个子包含包含第一个值但第二个为空的文件

    egrep "^[^,]+,,"orig.csv > subb.csv

根据我的理解,^[^,]+, 意味着必须以一个值开头,但该值不能是逗号后跟逗号。

我们有一个新的要求,第五列不能为空:

这是我认为应该的,但不幸的是它仍然收到第五列没有值的值

egrep "^[^,]+,[^,]+,[^,]+,[^,]+,[^,]+" orig.csv > suba_2.csv

有什么想法吗?

最佳答案

尝试:

egrep "^[^,]+,[^,]+,[^,]+,[^,]+,[^, ]+" orig.csv

我怀疑你的第五个元素中有空格。

你的正则表达式为我工作了以下输入:

% cat orig.csv
1,2,3,4,5,6,7,8,9,10
1,2,3,4,,6,7,8,9,10
1,2,3,4,5
1,2,3,4,
% egrep "^[^,]+,[^,]+,[^,]+,[^,]+,[^,]+" orig.csv
1,2,3,4,5,6,7,8,9,10
1,2,3,4,5
%

但当我在最后一行 1,2,3,4, . 的末尾放置一个空格时不是这样。

关于linux - 通过 egrep 过滤 CSV 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272702/

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