17 votos

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

Tengo bash script que funciona en Ubuntu pero para OS X 10.9 me sale el error para el comando split:

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 de split, -d es

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

¿Hay alguna solución para esto?

34voto

Scott Earle Puntos 2004

El Versión GNU de split es diferente a la Versión de OS X de split .

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

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

sudo port install coreutils

Esto instala las utilidades principales de GNU (incluyendo split) con un g por lo que se llama a la división utilizando el comando gsplit .

5 votos

Aunque sé que es posible instalar los coreutils con los nombres por defecto, nunca lo recomendaría ya que todos los scripts escritos para OS X asumen que las herramientas BSD tienen los nombres "originales".

11 votos

Los coreutils también están disponibles a través de homebrew (también con el prefijo 'g'): brew install coreutils

0 votos

@ScottEarle pues no deberías escribir bash para OSX. De todas formas puedes evitarlo usando un shell alternativo en iTerm y cargando un archivo bash_aliases separado, dejando el del sistema solo

0voto

user3704230 Puntos 101

Como mencionó Scott, simplemente hay que instalar las utilidades centrales de GNU para tener acceso a esta funcionalidad.

Además de MacPorts - Si tiene cervecero instalado - puede simplemente instalar el coreutils .

brew install coreutils

Para acceder a la funcionalidad que desea:

gsplit

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X