OS X 10.9では、分割の-dオプションは無効です


15

Ubuntuで動作するbashスクリプトがありますが、OS X 10.9ではsplitコマンドでエラーが発生します。

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バージョンのsplitはcoreutilsの一部であり、幸いなことに、これらはMacPortsで利用可能です。MacPortsがインストールされている場合、次のコマンドを使用してcoreutilsポートをインストールできます。

sudo port install coreutils

これにより、gプレフィックス付きのGNUコアユーティリティ(分割を含む)がインストールされるため、コマンドを使用してsplitを呼び出しますgsplit


4
デフォルトの名前でcoreutilsをインストールすることは可能ですが、OS X用に記述されたすべてのスクリプトはBSDツールが「オリジナル」の名前を持っていると想定しているため、推奨しません。
スコットアール14

8
coreutilsはhomebrewでも利用できます(接頭辞 'g'も付きます):brew install coreutils
カールバーテル

@ScottEarleは、OSX用のbashを書くべきではありません。関係なく、あなたの周り得ることができることだけではシステム1を残して、ITERM上の代替シェルを使用して、別のbash_aliasesファイルをロードすることによって
レイフォスの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.