如何在 CentOS 中通过 SSH 终端(使用 Putty)将大文件拆分为扩展名为 .001 .002(等等)的部分?
例如,如果我有一个大文件-大文件.iso那么我怎样才能将它拆分成如下文件大文件.iso.001,大文件.iso.002,大文件.iso.003,大文件.iso.004.... 等等直到大文件.iso.xxx(在哪里xxx是最后一部分?
答案1
Split 是您的好朋友,有以下选择:
-d --numeric-suffix for numerical suffixes
-a -- suffix-lenght for suffix lenght
看一下
split --help
在终端
答案2
最好的方法可能是使用类似下面的简短 bash 脚本
#!/bin/bash
BS=1024
SEGMENT=100000
LEN=$(ls -l | awk '{ print $5; }')
BL=$(($LEN/$BS))
S=0
I=1
while test "$BL" -le "$S"; do
dd if="$1" of="$1."$(printf '%03d' $I) bs="$BS" skip="$S" count="$SEGMENT" 2>/dev/null
S=$(($s+$SEGMENT))
I=$(($I+1))
done