我有一组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.但它需要更多的工作.
查看掌握正则表达式.