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?

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.