如何使用Perl计算大型CSV文件中的行数?

Ale*_*ong 3 csv perl large-data-volumes

我必须在工作的Windows环境中使用Perl,并且我需要能够找出大型csv文件包含的行数(大约1.4Gb).知道如何以最少的资源浪费做到这一点吗?

谢谢

PS这必须在Perl脚本中完成,我们不允许在系统上安装任何新模块.

jig*_*ggy 14

你的意思是行或行?单元格可能包含换行符,这会将行添加到文件中,但不会添加行.如果您确保没有单元格包含新行,那么只需使用Perl FAQ中的技术即可.否则,您将需要一个适当的CSV解析器,如Text :: xSV.


Ed *_*ess 9

是的,不要使用perl.

而是使用简单的实用程序来计算行数; wc.exe

它是从unix原件移植的一套Windows实用程序的一部分.

http://unxutils.sourceforge.net/

例如;

PS D:\> wc test.pl
     12      26     271 test.pl
PS D:\>
Run Code Online (Sandbox Code Playgroud)

其中12 ==行数,26 ==单词数,271 ==字符数.

如果你真的必须使用perl;

D:\>perl -lne "END{print $.;}" < test.pl
12
Run Code Online (Sandbox Code Playgroud)