Divide arquivos grandes em arquivos com extensão .001 .002 (e assim por diante) no CentOS via Terminal

1

Como dividir arquivos grandes em partes com extensão .001 .002 (e assim por diante) no CentOS via Terminal SSH (usando Putty)?

Por exemplo, se eu tiver um arquivo grande - LargeFile.iso , como posso dividi-lo em arquivos como LargeFile.iso.001 , < strong> LargeFile.iso.002 , LargeFile.iso.003 , LargeFile.iso.004 .... e assim sucessivamente até LargeFile. iso.xxx (onde xxx é a última parte)?

    
por Phoenix 27.09.2016 / 00:03

2 respostas

4

Split é seu amigo com opções:

-d --numeric-suffix  for numerical suffixes
-a -- suffix-lenght  for suffix lenght

Dê uma olhada em

split --help

no terminal

    
por 27.09.2016 / 00:21
0

A melhor maneira pode ser um pequeno script bash ao longo das linhas de

#!/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
    
por 27.09.2016 / 00:20