linux怎么随机按行打散文件,linux shell 将文件按照行数以及顺序拆分成多个文件...
awk -vf=3 -vl="`wc -l file`" 'BEGIN{p=int(l/f);q=(l%f);for(n=1;n<=f;n++)a[n]=n*p+((n<=q)?++x:x)}{if(NR>a[i])i++;print >"file"i}' file
这里的-vf=3 表示将file拆分成3个文件,另外还有一种解法,如下所示:
#!/bin/bash
if [ $# -ne 2 ];then
echo "U: sh $0 [file] [fnumber]"
echo "E: sh $0 myfile 3"
exit 1
fi
srcfile=$1 #原始文件
fnumber=$2 #需要拆分的文件个数
eval $(cat $srcfile | awk -vn=$fnumber 'END{print "total="NR,"fline="int(NR/n),"extra="NR%n,"cline="int(NR/n)+1}')
# total:原始文件总行数
# fline:拆分文件平均行数
# extra:需要扩展行数的文件个数
# cline:当前拆分文件行数
i=1
iline=1
while true;do
filename="file$i"
# 按行的顺序分别写入文件中
if [ $extra = 0 ];then
echo "$filename lines: $fline"
tail -n +$iline $srcfile | head -n $fline > $filename
iline=$((iline+fline))
else
echo "$filename lines: $cline"
tail -n +$iline $srcfile | head -n $cline > $filename
iline=$((iline+cline))
extra=$((extra-1))
fi
((i++))
[ $iline -ge $total ] && exit 0
done
linux怎么随机按行打散文件,linux shell 将文件按照行数以及顺序拆分成多个文件...相关推荐
- linux shell 切割文件,linux shell 将文件按照行数以及顺序拆分成多个文件
awk -vf=3 -vl="`wc -l file`" 'BEGIN{p=int(l/f);q=(l%f);for(n=1;n<=f;n++)a[n]=n*p+((n< ...
- 如何快速的将EXCEL表格数据拆分成多个文件
介绍 前不久好几位朋友都问到,如何将一个EXCEL文件里面很多条数据拆分成多个文件,比如一个EXCEL表里面有90万行数据,需要按照每1万行拆分成一个文件,也就是需要将这表里面的90万行数据拆分到90 ...
- 如何快速的将EXCEL表格数据拆分成多个文件?
下面我们就来看看如何用VBA来实现拆分工作. 首先,在EXCEL里面插入一个模块,代码如下:第二,在EXCEL工作表里面插入一个按钮控件,用于调用并执行以上模块. Sub copybat()Dim i ...
- excel快速拆分成多个文件
excel快速拆分成多个文件 1.点击开发工具栏下的 Visual Basic 2.弹出窗选择 插入-模块 3.复制代码 执行 Sub copybat()Dim i, j, k, m, r As In ...
- 拆分pdf文件最简单的方法?PDF拆分成多个文件工具推荐
很多朋友会在日常生活工作中遇见PDF文件过大的情况,这时候就有两个办法解决文件过大的办法,一个是压缩PDF,但是这种方法会影响到文件内容的清晰度,这就会劝退一部分用户,选择另一种方法,拆分PDF.那么 ...
- 将excel按照某一列拆分成多个文件
1.打开目标excel,按alt + f11键打开VBE窗口 2.选择插入->模块粘贴下面代码到编辑器中 Sub 保留表头拆分数据为若干新工作簿() Dim arr, d As Obje ...
- 多个sheet拆分成多个文件_Pandas拆分DataFrame到多个文件中
背景:有20万行的数据,需要按照1万5行进行拆分: 核心:借助余数拆分组,再取子数据集: 示例: 步骤一取余数 image-20201119110009301 步骤二:取子数据集 image-2020 ...
- 零基础教程-如何快速将EXCEL表格数据拆分成多个文件
工具:wps 1.首先一般人都是没有安装VBA宏插件的,此时我们就需要先下载并安装一个wps VBA宏插件,安装成功后;(直接百度搜索下载并安装即可,网上很多,示例如下)安装插件成功后,需要关闭wps ...
- 根据分类字段将电子表格拆分成多个文件
利用本脚本可以将Excel中数据,根据分类字段生成不同的文件. 需要的文件:源数据及配置文件(data.xls),模板文件(style.xlt),脚本文件(xx.vbs). 配置信息: 分类列号:用于 ...
最新文章
- 一文了解YOLO-v4目标检测
- 关闭占用某一端口号的进程 win10
- 2020\Simulation_1\2.约数个数
- linux编译安装的报错,linux编译安装时常见错误解决办法
- mysql集群多管理节点_项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
- 《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(13)--- 线程安全接口和双检查加锁优化...
- nginx js、css多个请求合并为一个请求(concat模块)
- 再更。。2019保研北大夏令营+九推
- 计算机桌面保护程序,屏幕保护程序软件
- RTL8153B ,瑞昱千兆网卡芯片 ,扩展坞HUB千兆网口芯片。
- C51编译出现 test.c(86): error C231: 'i2c_readbyte': redefinition
- Vue拦截器报错Uncaught (in promise) TypeError Cannot read properties of undefined (reading ‘code‘)
- 超级详细-NMOS、PMOS的工作原理及相关内容整理(下)
- 【ng-alain】解决sf设置了visibleIf的字段,默认执行required验证
- 类似京东商城客户端应用iOS源码
- 免费生成微信小程序的经验
- 敏捷基本概念——三大角色五大会议
- 专升本计算机的数学考不考正态分布,高考成绩不一定是正态分布
- Postgressql获取当前系统的年份及上一年和下一年
- django admin 验证码点击刷新
热门文章
- [MySQL] 2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded dlope
- 【Flink】connection indicates remote task manager was lost
- 【Flink】Rowtime timestamp is null. Please make sure that a proper TimestampAssigner is defined and th
- 95-290-380-源码-内存管理-Buffer-NetworkBufferPool简介
- Spring : 依赖注入(IoC)控制反转
- SpringBoot之Bean之条件注入@ConditionalOnExpression
- Spring MVC 响应数据、作用域对象
- buffer string builder简单说明
- 避免线上故障的10条建议
- ubuntu如何安装python36_在Ubuntu 16.04下安装Python3.6,ubuntu1604,Python36