X 10.9'da bölme için -d seçeneği yasadışı


15

Ubuntu üzerinde çalışan bash komut dosyası var ama OS X 10.9 için split komut hatası alıyorum:

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

split: illegal option -- d .

Bölünmüş adam sayfasına göre -d,

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

Bunun için bir çözüm var mı?

Yanıtlar:


30

Bölünmenin GNU sürümü farklıdır bölünmenin OS X sürüm .

OS X, BSD Unix'i temel alır ve Linux (genellikle GNU / Linux olarak adlandırılır) GNU araç setini kullanır.

Split'in GNU sürümü, coreutils'in bir parçasıdır ve iyi haber, bunların MacPorts'ta mevcut olmasıdır. Eğer varsa MacPorts yüklü, yükleyin coreutils komutunu kullanarak port:

sudo port install coreutils

Bu, GNU çekirdek yardımcı programlarını (split dahil) bir gönekle kurar , böylece split komutunu kullanarak çağırırsınız gsplit.


4
Coreutils'i varsayılan adlarla yüklemenin mümkün olduğunu bilsem de, OS X için yazılan tüm komut dosyalarının BSD araçlarının 'orijinal' adlara sahip olduğunu varsaydığı için asla tavsiye etmem.
Scott Earle

8
Coreutils ayrıca homebrew üzerinden de ('g' öneki ile birlikte) mevcuttur:brew install coreutils
Karl Bartel

@ScottEarle OSX için bash yazmamalısınız. Ne olursa olsun, iTerm üzerinde alternatif bir kabuk kullanarak ve ayrı bir bash_aliases dosyası yükleyerek, sistemi tek başına bırakarak bunu çözebilirsiniz
Ray Foss
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.