Tùy chọn -d để phân chia là bất hợp pháp trên OS X 10.9


15

Tôi có tập lệnh bash hoạt động trên Ubuntu nhưng đối với OS X 10.9, tôi gặp lỗi với lệnh split:

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

split: illegal option -- d .

Theo trang người đàn ông chia tay, -d

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

Có cách giải quyết cho điều này?

Câu trả lời:


30

Các phiên bản GNU của split khác với phiên bản OS X của phân chia .

OS X dựa trên BSD Unix và Linux (thường được gọi là GNU / Linux) sử dụng bộ công cụ GNU.

Phiên bản phân tách GNU là một phần của coreutils và tin tốt là chúng có sẵn trong MacPorts. Nếu bạn đã cài đặt MacPorts , bạn có thể cài đặt cổng coreutils bằng lệnh:

sudo port install coreutils

Thao tác này sẽ cài đặt các tiện ích lõi GNU (bao gồm cả phần tách) với gtiền tố, vì vậy bạn gọi phần tách bằng lệnh gsplit.


4
Mặc dù tôi biết có thể cài đặt coreutils với tên mặc định, tôi sẽ không bao giờ khuyến nghị nó vì tất cả các tập lệnh được viết cho OS X đều cho rằng các công cụ BSD có tên 'gốc'.
Scott Earle

8
Coreutils cũng có sẵn thông qua homebrew (cũng có tiền tố 'g'):brew install coreutils
Karl Bartel

@ScottEarle tốt, bạn không nên viết bash cho OSX. Bất kể bạn có thể khắc phục điều đó bằng cách sử dụng trình bao thay thế trên iTerm và tải một tệp bash_aliases riêng biệt, để lại hệ thống một mình
Ray Foss
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.