在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
之前使用perl 脚本写了一个读取文件的小工具,但是由于当时使用的Tie 的方式,在处理大文件时,效率并不十分理想,所以在网上搜索了perl 如何操作文件指针的文章,自己也学习一下,本博客就是学习过程中留下的记录。
perl 打开文件的方式命令如下,"<"的含义为将test.txt文件的内容重定向到FILE 文件指针中 open FILE, "<", "/opt/test/test.txt";
perl 在操作文件指针时,可以用seek 函数移动文件指针 seek (filevar, distance, relative_to);
在文件中向前/后移动,有三个参数:
测试脚本如下,作用为打开/opt/test/test.txt,并且将文件指针偏移 0 个字节,然后读取剩余的数据,读取方式为按行读取 #!/usr/bin/perl -w open FILE, "<", "/opt/test/test.txt"; my $position = tell(FILE); seek(FILE, $position, 0); while (<FILE>) { print ($_); } close (FILE);
perl 在操作文件指针时,还有一个按照字节读取的函数--getc(FILEHANDLE) ,该函数将返回一个字节的内容,并且文件指针也移动一个字节 如果用户想直接获得文件的字节数,可以先偏移到文件末尾,再查看当前偏移位置来查看 open FILE, "<", "/opt/test/test.txt"; seek(FILE, 0, 2); my $position = tell(FILE);
参考博文: http://blog.mcshell.org/2013/05/25/perl_seek_tell_to_tail_-f.html http://www.yiibai.com/perl/perl_tell.html |
请发表评论