2010-07-07 6 views
8

कुछ फ़ोल्डर हैं जिनमें स्थान होता है, और नतीजतन, उन फ़ोल्डरों को सेस्कोप का उपयोग करके अनुक्रमित नहीं किया जा सकता है।रिक्त स्थान वाले पथों के साथ सेस्कोप का उपयोग कैसे करें

क्या मैं इसे हल करने में सहायता के लिए आपसे पूछ सकता हूं, या कोई सुझाव।

धन्यवाद जूलियस


आपके उत्तर के लिए धन्यवाद।

मेरे चरणों का पालन

  • खोजने की तरह cscope उपयोग करने के लिए। -name '* .scala'>
  • cscope इस चरण में
    बी cscope.files। मैं देख संदेश बताता है कि फ़ाइल नहीं मिल सकता है:
    cscope: नहीं मिल सकता है फ़ाइल/कार्य/परियोजना/कॉपी
    cscope:
    cscope की फ़ाइल नहीं मिल सकता है: फ़ाइल fp/src/मुख्य/jav नहीं मिल सकता है ....
    असल में एफपी की प्रतिलिपि एक फ़ोल्डर है। इसलिए मुझे लगता है कि सीएससीओपी उस स्थान को पहचान नहीं सकता है जिसमें स्पेस है।

मैं जब मैं cscope.maybe मैं अन्य टैग में यह सवाल ले जाने की जरूरत है साथ vim का उपयोग करने की कोशिश की इस समस्या का सामना करना पड़ा।

+1

आप विम इस्तेमाल किया टैग। क्या ऐसा इसलिए है क्योंकि आप विम के भीतर ': cscope' कमांड का उपयोग करने का प्रयास कर रहे हैं? यदि हां, तो क्या आप उन आदेशों को दिखा सकते हैं जिन्हें आप कोशिश कर रहे हैं और आपको कौन सी त्रुटियां मिल रही हैं? – jamessan

उत्तर

3

आप उपयोग कर सकते हैं के अपने उत्पादन के आसपास उद्धरण के लिए मजबूर करने -exec:

find . -name "*.scala" -exec echo \"{}\" \; > cscope.files 

आप के हवाले/यदि आप एक स्क्रिप्ट से कर रहे हैं से बचने के साथ चारों ओर गंदगी की जरूरत हो सकती।

+0

यह उत्तर ~ 100 फ़ाइलों को करने के लिए ~ 1 सेकंड लेता है। मेरा जवाब ~ 100,000 फाइल करने के लिए ~ 1 सेकंड लेता है। – webb

+1

@webb: fprintf (ओलिवियर दीओट का उत्तर) का उपयोग निश्चित रूप से मेरे निष्पक्ष प्रस्ताव की तुलना में 'ढूंढ' के बेहतर उपयोग की तरह लगता है। – idbrii

0

डबल हवाले से फ़ाइलों के नाम, cygwin में काम करता है जहां के रूप में बैकस्लैश के साथ भागने नहीं करता है।

$ find $PWD -name "*.scala" | sed -e 's/^/"/g' -e 's/$/"/g' > cscope.files 
+0

sed's /.*/"&"/ 'थोड़ा तेज़ है – webb

2

pydave का जवाब बहुत धीमी है। इस तरह से ले लिया 0.10s जहां pydave के जवाब 14s ले लिया:

find . -name "*.scala" | awk '{print "\""$0"\""}' > cscope.files 
+0

कुडोस! वास्तव में तेजी से काम करता है – Melon

4

आप यह बस जीएनयू को खोजने का उपयोग कर कम से कम, तो आप उस के लिए -printf या -fprintf विकल्पों का उपयोग कर सकते हैं कर सकते हैं:

find . -type f -fprintf cscope.files '"%p"\n' 
+0

% h /% f को% p – webb

+1

को सरल बनाएं आपका सबसे तेज़ उत्तर है: मेरे से 8% तेज, sed से 14% तेज। । । और 1000x जितना तेज़ होगा! – webb

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