gpt4 book ai didi

linux - 替换 csv 文件中的一行?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:33 24 4
gpt4 key购买 nike

我有一组 10 个 CSV 文件,通常有一个这样的条目

a,b,c,d
d,e,f,g

现在由于这个文件中的一些错误条目变成了这种

a,b,c,d
d,e,f,g
,,,
h,i,j,k

现在我想删除所有文件中只有逗号的行。这些文件位于 Linux 文件系统上。

您推荐的任何命令都可以替换所有文件中的错误行。

最佳答案

这取决于你所说的替换是什么意思。如果您的意思是“删除”,那么@wnoise 解决方案的一个简单变体是:

grep -v '^,,,$' old-file.csv > new-file.csv

请注意,这只会删除恰好包含三个逗号的行。如果您想删除包含任意数量的逗号(包括零)且行中没有其他字符的格式错误的行,则:

grep -v '^,*$' ...

正则表达式有无穷无尽的其他变体可以处理其他场景。处理带有引号内逗号的完整 CSV 数据开始需要正则表达式机器以外的东西。它可以在广泛的范围内完成,尤其是在更复杂的正则表达式系统中,例如 PCRE 或 Perl。但这需要更多的工作。

查看 Mastering Regular Expressions .

关于linux - 替换 csv 文件中的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/459411/

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