प्रतीकात्मक लिंक के बाद प्रणाली-स्वतंत्र खोज?


2

मैं 'खोज' कमांड का उपयोग करना चाहता हूं और इसे प्रतीकात्मक लिंक का पालन करना चाहिए। हालाँकि, मुझे RedHat और Mac OS X सिस्टम दोनों पर अन्य कोड (IDL, जिसमें बहुत अच्छी बिल्ट-इन फ़ाइल खोज नहीं है) से कमांड को कॉल करने की आवश्यकता है।

समस्या यह है कि, रेडहैट सिस्टम GNU फाइंड संस्करण 4.1.20 का उपयोग करता है, जबकि मैक खोज कुछ बीएसडी संस्करण है। मैक ढूंढने में, आप find -Lसिमिलिंक का पालन करने के लिए उपयोग करते हैं GNU संस्करण में, आप उपयोग करते हैं find -follow। प्रतीकात्मक लिंक का अनुसरण करने के लिए दोनों के बीच कोई आम विकल्प नहीं है।

मेरी मशीनों के लिए वर्कअराउंड findअपने स्वयं के निजी संस्करण में बदलना है , लेकिन यह कोड वितरित करने के लिए स्वीकार्य विकल्प नहीं है। क्या कोई विकल्प सुझा सकता है? क्या findमैनुअल में कुछ ऐसा है जो यह बताने से चूक गया कि प्रतीकात्मक लिंक का पालन कैसे करें जो संस्करण पर निर्भर नहीं करता है?


1
आपको एक उत्तर के रूप में चिपकाना चाहिए और एक संपादन के रूप में नहीं।
सर्फस

जवाबों:


4

मैं सिर्फ गलत तरीके से ढूंढ रहा था।

यह विफल रहता है:

$ find -follow . -name "t*"
find: ollow: No such file or directory

जबकि यह काम करता है:

$ find . -name "t*" -follow

मुझे लगता है कि क्योंकि यह -f खोजने के लिए एक विशेष विकल्प है।

ध्यान दें कि खोज का GNU संस्करण भी मार्ग से पहले की अनुमति नहीं देता है, लेकिन यह कम से कम एक उपयोगी त्रुटि देता है:

find: paths must precede expression

2
इस की दूसरी पंक्ति क्या है man findइस बारे में क्या कहना है: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]। पथ हमेशा खोज अभिव्यक्ति से पहले आता है ...
डैनियल बेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.