-d L'opzione per la divisione è illegale su OS X 10.9


15

Ho uno script bash che funziona su Ubuntu ma per OS X 10.9 ottengo l'errore per il comando split:

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

split: illegal option -- d .

Secondo la pagina man divisa, -dè

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

C'è una soluzione per questo?

Risposte:


30

La versione GNU di split è diversa dalla versione OS X di split .

OS X si basa su BSD Unix e Linux (spesso indicato come GNU / Linux) utilizza il set di strumenti GNU.

La versione GNU di split fa parte dei coreutils e la buona notizia è che questi sono disponibili in MacPorts. Se hai MacPorts installato, puoi installare la porta coreutils usando il comando:

sudo port install coreutils

Questo installa le utility di base GNU (incluso split) con un gprefisso, quindi chiamate split usando il comando gsplit.


4
Mentre so che è possibile installare i coreutils con i nomi predefiniti, non lo consiglierei mai poiché tutti gli script scritti per OS X presumono che gli strumenti BSD abbiano i nomi "originali".
Scott Earle,

8
I coreutils sono disponibili anche via homebrew (anche con un prefisso 'g'):brew install coreutils
Karl Bartel

@ScottEarle bene non dovresti scrivere bash per OSX. Indipendentemente da ciò, puoi aggirare il problema usando una shell alternativa su iTerm e caricando un file bash_aliases separato, lasciando il sistema da solo
Ray Foss
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.