Linux下切分文件并生成规则文件名的方法

最近接到了个需求:将生成的文件按照1000行切分成一个文件并且重新命名为.txt文件   

拿到需求后我看 这不挺简单的 split方法就ok了 但是...切割后的文件不能自动添加扩展名和按规律命名

所以一顿查找 最后算是解决掉了分割后命名无规律的问题 现在记录一下

先来个split的简单介绍

split支持自定义输出文件大小和输出文件行数两种模式,此外还可以定义每一行最大的值。

   -l   按输出文件行数 : split -l 200 input_file out_file

   -b  按输出文件大小 : split -b 200 input_file out_file(注意-b后边跟的数字需要换算成字节数)

   -d   如果加上-d则后缀为数字,不加则默认为字母

   -a   默认为2,意思是后缀的位数,这个是根据你分出来的文件个数决定的

1. split -l 20 input_file out_file_

2. split -l 20 -d -a 2 input_file out_file

 

看到这几个参数的大致区别了吧

下面说重点 切分之后的文件没有后缀的 这是我们可以用下面的命令来生成

ls|grep out_|xargs -n1 -i{} mv {} {}.txt

意思是先查找out_开头的文件,然后逐个重命名为.txt  下面试效果

这样就完美的解决了split文件之后没有后缀的问题

===============后续==============

要求每生成一个txt文件 创建一个空的信号文件 也就是ok文件

arr=`ls -l ${path} | grep "out_file_" | awk '{print $9}'`
for dirName in ${arr}
do
NAMES=$(basename $dirName .txt)
touch $NAMES.ok
done

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值