Shell脚本-拆分文件并重命名(性能测试)

需求背景:

  • 将文件按照特定行数拆分成多个文件,文件后缀名为.csv,用于性能测试参数化文件分布式执行文件的拆分;
  • 命令:sh 脚本名 拆分文件名 拆分后文件行数

脚本实现:

#!/bin/bash
 
if [ $# != 2 ]; then
        echo "Error: sh $0 拆分文件名 拆分文件行数"
        exit 1
fi
 
#拆分文件名
fileName=$1
echo "拆分源文件名:$1";
#拆分后每个文件行数
lineNumber=$2
echo "拆分文件行数:$2";
 
 
#拆分文件
split -d -l $lineNumber $fileName data_
 
# 后缀名
suffix=".csv"
 
# 文件名列表(假设已知的文件前缀)
files=$(ls data_*)  # 根据实际情况调整文件名列表
 
 
# 为每个文件添加后缀并输出新的文件名
for file in ${files}; do
    new_file=${file}${suffix}  # 组合成新的文件名,包含后缀
    #echo "$new_file"  # 输出新文件名,确认无误后去掉echo执行重命名操作
    # 重命名文件(移动原文件到新的带后缀的文件名)
    mv $file $new_file  # 注意:请确保没有其他同名文件存在,否则会被覆盖
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值