gpt4 book ai didi

regex - 计算 csv 文件行中逗号的确切数量(正则表达式)

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:16 25 4
gpt4 key购买 nike

我有一个 csv 文件 (25GB),但它已损坏。它通常有 47 列,由 46 个逗号和一个起始逗号分隔,所以 47,但有些行有 49 列。我想从文件中删除这些行,我想我会使用 grep 和正则表达式来处理我在另一个问题中发现的内容:

grep -vE '/^([^,]*,){47}[^,]*$/' file1 > file2

知道我错过了什么吗?

最佳答案

$ printf 'a,b,c\n1,2\n'
a,b,c
1,2

$ # -x option forces entire line to be matched
$ printf 'a,b,c\n1,2\n' | grep -xE '([^,]*,){2}[^,]*'
a,b,c
$ printf 'a,b,c\n1,2\n' | grep -xE '([^,]*,){1}[^,]*'
1,2

$ # you can also use awk, NF contains number of fields
$ printf 'a,b,c\n1,2\n' | awk -F, 'NF==3'
a,b,c
$ printf 'a,b,c\n1,2\n' | awk -F, 'NF==2'
1,2

关于regex - 计算 csv 文件行中逗号的确切数量(正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47593689/

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