La opción -d para dividir es ilegal en OS X 10.9

15

Tengo un script bash que funciona en Ubuntu pero para OS X 10.9 obtengo el error para el comando dividido:

split -b 1000000 -a 3 -d $F $F && rm $F || { echo "Error: 'split' command not installed" ; exit 1 ; }

split: illegal option -- d .

Según la página man dividida, -des

   -d, --numeric-suffixes
          use numeric suffixes instead of alphabetic

¿Hay alguna solución para esto?

mirt
fuente

Respuestas:

30

La versión GNU de split es diferente a la versión OS X de split .

OS X se basa en BSD Unix, y Linux (a menudo denominado GNU / Linux) utiliza el conjunto de herramientas GNU.

La versión GNU de split es parte de los coreutils , y la buena noticia es que están disponibles en MacPorts. Si tiene MacPorts instalado, puede instalar el puerto coreutils usando el comando:

sudo port install coreutils

Esto instala las utilidades principales de GNU (incluida la división) con un gprefijo, por lo que llama a la división usando el comando gsplit.

Scott Earle
fuente
44
Si bien sé que es posible instalar coreutils con los nombres predeterminados, nunca lo recomendaría, ya que todos los scripts escritos para OS X suponen que las herramientas BSD tienen los nombres 'originales'.
Scott Earle
8
Los coreutils también están disponibles a través de homebrew (también con un prefijo 'g'):brew install coreutils
Karl Bartel
@ScottEarle, bueno, no deberías escribir bash para OSX. Independientemente de que pueda evitar eso, use un shell alternativo en iTerm y cargue un archivo bash_aliases separado, dejando el sistema solo
Ray Foss