विभाजन के लिए -d विकल्प OS X 10.9 पर अवैध है


15

मेरे पास bash स्क्रिप्ट है जो उबंटू पर काम करती है लेकिन 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 .

विभाजित मैन पेज के अनुसार, -dहै

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

क्या इसके लिए वर्कअराउंड है?

जवाबों:


30

विभाजन की जीएनयू संस्करण से अलग है विभाजन के ओएस एक्स संस्करण

OS X BSD यूनिक्स पर आधारित है, और Linux (जिसे अक्सर GNU / Linux के रूप में जाना जाता है) GNU टूलसेट का उपयोग करता है।

विभाजन का GNU संस्करण कोरुटिल का हिस्सा है , और अच्छी खबर यह है कि ये MacPorts में उपलब्ध हैं। यदि आपके पास MacPorts स्थापित है, तो आप कमांड का उपयोग करके कोरुटिल पोर्ट को स्थापित कर सकते हैं :

sudo port install coreutils

यह gउपसर्ग के साथ GNU कोर यूटिलिटीज (स्प्लिट सहित) स्थापित करता है , इसलिए आप कमांड का उपयोग करके स्प्लिट कहते हैं gsplit


4
हालांकि मुझे पता है कि डिफ़ॉल्ट नामों के साथ कोरुटिल स्थापित करना संभव है, मैं इसे कभी भी अनुशंसित नहीं करूंगा क्योंकि ओएस एक्स के लिए लिखी गई सभी लिपियों का मानना ​​है कि बीएसडी टूल्स में 'मूल' नाम हैं।
स्कॉट एलेल

8
कोरटाइल होमब्रेव (एक 'जी' उपसर्ग के साथ भी) उपलब्ध हैं:brew install coreutils
कार्ल बार्टेल

@ScottEarle अच्छी तरह से आपको OSX के लिए बैश नहीं लिखना चाहिए। भले ही आप iTerm पर एक वैकल्पिक शेल का उपयोग करके और एक अलग bash_aliases फ़ाइल लोड करके, सिस्टम को अकेला छोड़ कर
रे फॉस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.