Linux Shell脚本编程 --split命令

Linux 文件分割与合并指南

文件分割 (split 命令)

Linux 提供了强大的 split 命令来进行文件分割,支持多种分割模式:

模式一:按行数分割(适合文本文件)

split -l 300 large_file.txt new_file_prefix

参数说明:

  • -l 300:指定每个分割文件包含300行
  • large_file.txt:要分割的源文件
  • new_file_prefix:生成文件的前缀

模式二:按大小分割(适合文本和二进制文件)

split -b 10m server.log waynelog

参数说明:

  • -b 10m:指定每个分割文件大小为10MB(支持单位:k, m, g)
  • server.log:要分割的源文件
  • waynelog:生成文件的前缀

高级用法示例

  1. 数字后缀+固定位数
split -l 2482 BLM.txt -d -a 4 BLM_
  • -d:使用数字后缀而非字母
  • -a 4:后缀长度为4位(如0000,0001…)
  1. 指定输出目录
split -d -a 4 -l 100000 total.txt ./out/abc-
  • 将分割后的文件输出到./out/目录
  • 文件前缀为abc-
  1. 查看文件行数(确定分割大小):
wc -l BLM.txt

文件合并 (cat 命令)

Linux 使用简单的 cat 命令即可合并文件:

cat small_files* > large_file

注意事项:

  • small_files* 会按字母顺序合并所有匹配的文件
  • > 会将输出重定向到新文件
  • 对于二进制文件同样适用

合并技巧

  1. 按数字顺序合并:
cat file_{0001..1000} > combined_file
  1. 追加到现有文件:
cat part2 >> complete_file
  1. 合并时添加分隔符:
for f in part*; do cat "$f"; echo "---EOF---"; done > combined

最佳实践建议

  1. 分割前先检查文件属性(行数/大小):

    wc -l file.txt    # 查看行数
    du -h file.txt    # 查看大小
    
  2. 大文件分割时考虑使用-n参数(按块数分割)

  3. 合并二进制文件时确保顺序完全正确

  4. 使用md5sum校验合并后的文件完整性

  5. 对于特别大的文件,考虑使用split --verbose查看进度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值