Divide o arquivo em 4 partes usando a versão macOS do pacote split

0

No GNU / Linux, a fim de dividir o arquivo em 4 partes iguais, podemos fazer algo como:

split temp -n 4 PREFIX_

Mas parece que a versão BSD do utilitário split do macOS não tem a opção -n . Qual seria o análogo do comando GNU split no macOS?

    
por Drew 11.05.2018 / 00:00

2 respostas

0

Infelizmente, o MacOS contém versões BSD de coreutils. Head também não suporta contagens negativas de bytes, enquanto o GNU analog permite fazer algo como head -c -1 .

Acabei de instalar a versão GNU do coreutils no MacOS:

brew install coreutils

Isso instala todos os coreutils incluindo split e head com o prefixo g . Então agora eu posso fazer:

gsplit ${file} -n 4 PREFIX_

e

ghead -c -1 ${file}
    
por 16.05.2018 / 20:21
0

Você pode encontrar o tamanho do arquivo e dividi-lo por 4 e usar o split -b do MacOS no número de bytes. Eu não tenho como testar isso, mas vagamente:

#!/bin/bash
file=myfile
size=$(stat -f '%z' "$myfile")
let part=size/4
[ "$part" = 0 ] && part=1
split -b "$part" "$myfile" ...

Eu não sei o que acontece quando o tamanho está abaixo de 4 bytes e você diz split -b 0 , então faça isso 1. Veja as páginas de manual split e stat .

    
por 11.05.2018 / 09:12

Tags