Respostas:
Use "--filter":
split --bytes=1024M --filter='gzip > $FILE.gz' /path/to/input /path/to/output
Um one-liner usando um condicional é o mais próximo possível.
cd /path/to/output && split --bytes=1024M /path/to/input/filename && gzip x*
gzip
só será executado se split
for bem-sucedido por causa da condicional &&
que também está entre cd
e também split
para garantir que cd
seja bem-sucedido. Observe que split
e gzip
gera para o diretório atual em vez de ter a capacidade de especificar o diretório de saída. Você pode criar o diretório, se necessário:
mkdir -p /path/to/output && cd /path/to/output && split --bytes=1024M /path/to/input/filename && gzip x*
Para juntar tudo novamente:
gunzip /path/to/files/x* && cat /path/to/files/x* > /path/to/dest/filename
--line-bytes=1024M
.