2008-10-20 10 views
5

ClearCase खोज कमांड का उपयोग करके, मैं निर्देशिका में सभी फ़ाइलों को कैसे ढूंढूं जिनके नाम pom.xml नहीं है?एक ClearCase खोज कमांड में नाम से फ़ाइलों को बाहर कैसे निकालें?

मैं अन्य चयन विकल्प को ClearCase ढूंढने के आदेश में पास करना चाहता हूं, इसलिए मैं एक और कमांड निष्पादित नहीं करना चाहता हूं।

मैं साफ़केस के रेडहाट लिनक्स संस्करण का उपयोग कर रहा हूं। मैंने कोशिश की है "cleartool find! -name pom.xml -print" और यह काम नहीं करता है।

पीएस: मैं पसंद से ClearCase का उपयोग नहीं करता, यह मेरी परियोजना पर अनिवार्य है। यह उन कारणों में से एक है जिन्हें मैं नफरत करता हूं। मैंने कई बार मैन पेज पढ़े हैं और यह काम करने के लिए कोई स्पष्ट तरीका नहीं है!

+0

मिले एक पंक्ति आदेश है कि बस तुम क्या आवश्यकता है। नीचे देखें – VonC

+0

आप वापस आ गए हैं! :-) और मेरे जवाब पर 'टिक' से, यह "एक-लाइनर" चाल चल रहा है। ठंडा। – VonC

उत्तर

2

आप -exec cleartool का विकल्प भूल जाते हैं आदेश को खोजने लगते हैं।

यह वास्तव में आपको क्लीयरूलूल की तुलना में अन्य आदेशों को निष्पादित करने की अनुमति देता है, जिसमें सिस्टम वाले (जैसे sh या DOS स्क्रिप्ट) शामिल हैं।

मुझे पता है तुम "एक और आदेश पर अमल करना पसंद नहीं" होता है, लेकिन अगर यह है कि अन्य प्रणाली स्क्रिप्ट एक खोजने के आदेश के कार्यकारी विकल्प का हिस्सा है ... यह यह अभी भी एक आदेश है तर्क दिया जा सकता;)

(यूनिक्स 'print.sh')

#!/bin/sh 
if [ $1 != $2 ] ; then 
    echo $1 
fi 

(विंडोज़ 'print.bat')

+०१२३९४९७८०१:

तो जैसे एक सरल स्क्रिप्ट बनाने

उस स्क्रिप्ट को या तो अपनी खोज निर्देशिका में रखें, या अपने% PATH% या $ PATH वातावरण में स्क्रिप्ट पथ जोड़ें।

और अंत में,

(यूनिक्स)

cleartool find . -nrec -type f -exec './print.sh $CLEARCASE_PN ./pom.xml' 

(विंडोज़)

cleartool find . -nrec -type f -exec "print.bat %CLEARCASE_PN% .\pom.xml" 

(तारीख को छानने, शाखा छानने और इतने पर के बारे में सब other options के साथ) खोज आदेश का उपयोग करें और यहां आप जाते हैं: "निर्देशिका में सभी फाइलें जिनके पास नाम pom.xml नहीं है"।

नोट: खोज कमांड का '-type f' विकल्प आपको खोज को केवल फाइल नामों (निर्देशिका नामों) तक सीमित करने की अनुमति देता है।

+0

यह ठीक है, मामलों को छोड़कर जब हम क्लीर्टूल के बारे में बात कर रहे हैं तो हजारों फाइलों (मेरे मामले में, हजारों) फाइलों का मूल्यांकन करने के बारे में बात कर रहे हैं निर्देशिका। मैं cleartool चाहते हैं कि एक विशेष निर्देशिका को भी न देखें। अगर मैंने सबकुछ का मूल्यांकन किया है और फिर बाद में इसे किसी अन्य कमांड के साथ छोड़ दें, क्लीयरूल सबकुछ खोजने के बाद, इसे पूरा करने में काफी समय लगेगा। – searchengine27

3

ClearCase वाइल्डकार्ड उलट (AFAIR) नहीं है, लेकिन आप इस के लिए ग्रेप उपयोग कर सकते हैं -

cleartool ls -short -nxname | grep -v pom.xml 
+0

मुझे नहीं लगता कि एक्सएम नाम का एक्सएमएल नाम था ;-) – Tanktalus

3

एक और समाधान है जो आपके लिए काम कर सकता है। प्रयास करें

ccapply task

संबंधित मुद्दे