opção -d para divisão é ilegal no OS X 10.9


15

Eu tenho o script bash que funciona no Ubuntu, mas para o OS X 10.9 eu recebo o erro para o comando split:

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

split: illegal option -- d .

De acordo com a página de manual dividida, -dé

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

Existe uma solução alternativa para isso?

Respostas:


30

A versão GNU do split é diferente da versão do OS X do split .

O OS X é baseado no BSD Unix e o Linux (geralmente conhecido como GNU / Linux) usa o conjunto de ferramentas GNU.

A versão GNU do split faz parte dos coreutils , e a boa notícia é que eles estão disponíveis no MacPorts. Se você possui o MacPorts instalado, pode instalar a porta coreutils usando o comando:

sudo port install coreutils

Isso instala os utilitários GNU fundamentais (incluindo split) com um gprefixo, então você chama de divisão usando o comando gsplit.


4
Embora eu saiba que é possível instalar o coreutils com os nomes padrão, eu nunca o recomendaria, pois todos os scripts escritos para o OS X supõem que as ferramentas do BSD tenham os nomes 'originais'.
22814 Scott Scottle

8
Os coreutils também estão disponíveis via homebrew (também com o prefixo 'g'):brew install coreutils
Karl Bartel

@ ScottEarle, bem, você não deve escrever bash para OSX. Independentemente disso, você pode contornar isso usando um shell alternativo no iTerm e carregando um arquivo bash_aliases separado, deixando o sistema em paz
Ray Foss
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.