博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Perl按行分割文件
阅读量:4324 次
发布时间:2019-06-06

本文共 1294 字,大约阅读时间需要 4 分钟。

Perl按行分割文件

将一个文件按照行数,均等的分割成多个小文件,例如,一个550行的文件,分割为每个文件有100行,则将分割为6个小文件

运行结果

847278-20171018142851787-249776263.png

847278-20171018142908646-1095992501.png

参考代码(split_file.pl)

#!/usr/bin/perl#usage way: split_file.pl testopen(FILE,$ARGV[0]) or die ("Error: cannot open file $ARGV[0].\n");@lst_line = 
;my $dir_num = &splitfile(@lst_line);#print "$dir_num\n";exit;################################################################################################################################sub splitfile{ my (@input_line) = @_; my $everyfule_num = 80; #Set partition lines my $line_num = @input_line; my $split_num = $line_num/$everyfule_num; unlink "temp_lst"; open(TEMPA, ">> temp_lst") || die ("Could not open file temp_lst! \n"); my $sq_num = 0; foreach $line (@input_line){ $line_index ++; printf TEMPA ("$line"); if($line_index%$everyfule_num == 0){ $sq_num = $line_index/$everyfule_num; my $lst_name = "test_"."lst_".$sq_num; rename "temp_lst", "$lst_name"; close TEMPA; unlink "temp_lst"; open(TEMPA, ">> temp_lst") || die ("Could not open file temp_lst! \n"); } } rename "temp_lst", "test_"."lst_".($sq_num+1); close TEMPA; return $sq_num+1;} #end of splitfile

转载于:https://www.cnblogs.com/OneFri/p/7686514.html

你可能感兴趣的文章
canvas个人总结
查看>>
spring-aop-1
查看>>
TCP通信(上传文件)
查看>>
android Activity初次的启动的时候播放声音
查看>>
redis desktop manager连接远程linux中的Redis
查看>>
POJ刷题计划
查看>>
css3 背景透明
查看>>
Android适配API23之后权限的动态申请
查看>>
[operator]ELK6 index pattern的问题
查看>>
Zabbix监控DB,Tomcat
查看>>
Python学习(2 数据运算)
查看>>
87.在ModelSim中添加Xilinx ISE仿真库
查看>>
配置django项目总结 + 思维导图
查看>>
xadmin后台管理
查看>>
GO -- 一个经验
查看>>
CI框架在 nginx 服务器上配置 rewrite 去掉 index.php 的方法:
查看>>
《每日一博》——学习php
查看>>
custom.js
查看>>
Centos 7 中 QT出现QSqlDatabase: MYSQL driver not loaded
查看>>
在 IBM RAD 平台上基于 JAX-WS 开发 Web Services服务器端,客户端
查看>>