-d варіант розділення незаконне для ОС X 10.9


15

У мене є скрипт bash, який працює на Ubuntu, але для OS X 10.9 я отримую помилку для розділеної команди:

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

split: illegal option -- d .

За даними розділеної сторінки man, -dє

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

Чи існує рішення для цього?

Відповіді:


30

Версія GNU розколу відрізняється від версії OS X розколу .

OS X базується на BSD Unix, а Linux (часто його називають GNU / Linux) використовує набір інструментів GNU.

Версія GNU розколу є частиною Coreutils , і хороша новина полягає в тому, що вони доступні в MacPorts. Якщо у вас встановлений MacPorts , ви можете встановити порт coreutils за допомогою команди:

sudo port install coreutils

При цьому встановлюються основні утиліти GNU (включаючи спліт) з gпрефіксом, тому ви викликаєте split за допомогою команди gsplit.


4
Хоча я знаю, що можна встановити coreutils з типовими іменами, я б ніколи не рекомендував цього, оскільки всі сценарії, написані для OS X, передбачають, що інструменти BSD мають "оригінальні" імена.
Скотт Ерл

8
Основні програми також доступні через домашню мову (також із префіксом 'g'):brew install coreutils
Karl Bartel

@ScottEarle добре, що ви не повинні писати bash для OSX. Незалежно від цього можна обійтись, використовуючи альтернативну оболонку на iTerm та завантаживши окремий файл bash_aliases, залишивши систему в спокої
Рей Фосс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.