Você pode usar o utilitário split no Linux para dividir um arquivo de acordo com o tamanho ou o número de linhas.
Explicação:
% bl0ck_qu0te%Opções:
% bl0ck_qu0te%Exemplos:
% bl0ck_qu0te%(onde o nome do arquivo de entrada é abc e o último argumento é o prefixo de saída)
% bl0ck_qu0te%Os comandos divididos geram partes nomeadas: abc.000, abc.001 ...
Para remontar novamente as partes geradas, você pode usar, por exemplo:
$ cat abc.* > abc_2
(assumindo que o shell classifica os resultados da globalização do shell - e o número de partes não excede o limite de argumentos dependentes do sistema)
Você pode comparar o resultado via:
$ cmp abc abc_2
$ echo $?
(que deve produzir 0)
Alternativamente, você pode usar uma combinação de find / sort / xargs para montar as peças:
$ find -maxdepth 1 -type f -name 'abc.*' | sort | xargs cat > abc_3
pssh:
[feddy@localhost ~]$ pscp.pssh --help
Usage: pscp.pssh [OPTIONS] local remote
Options:
--version show program's version number and exit
--help show this help message and exit
-h HOST_FILE, --hosts=HOST_FILE
hosts file (each line "[user@]host[:port]")
-H HOST_STRING, --host=HOST_STRING
additional host entries ("[user@]host[:port]")
-l USER, --user=USER username (OPTIONAL)
-p PAR, --par=PAR max number of parallel threads (OPTIONAL)
-o OUTDIR, --outdir=OUTDIR
output directory for stdout files (OPTIONAL)
-e ERRDIR, --errdir=ERRDIR
output directory for stderr files (OPTIONAL)
-t TIMEOUT, --timeout=TIMEOUT
timeout (secs) (0 = no timeout) per host (OPTIONAL)
-O OPTION, --option=OPTION
SSH option (OPTIONAL)
-v, --verbose turn on warning and diagnostic messages (OPTIONAL)
-A, --askpass Ask for a password (OPTIONAL)
-x ARGS, --extra-args=ARGS
Extra command-line arguments, with processing for
spaces, quotes, and backslashes
-X ARG, --extra-arg=ARG
Extra command-line argument
-r, --recursive recusively copy directories (OPTIONAL)
Example: pscp -h hosts.txt -l irb2 foo.txt /home/irb2/foo.txt
Exemplo (para o seu caso):
[feddy@localhost ~]$ touch ko001 ko002 ko003
[feddy@localhost ~]$ pscp.pssh -AH feddy@localhost ko00* Downloads/
Warning: do not enter your password if anyone else has superuser privileges or access to your account.
Password:
[1] 20:26:42 [SUCCESS] feddy@localhost
[feddy@localhost ~]$ ls Downloads/
ko001 ko002 ko003
Agora, finalmente, você pode usar o utilitário cat ou find para juntar ou remontar todos os arquivos (como já mencionado acima)