कई मौकों पर आप उन फ़ाइल नामों और निर्देशिकाओं के बारे में जानते होंगे जिनके नाम में मध्यवर्ती स्थान होते हैं, विशेष रूप से वे जो विंडोज़ से आते हैं। ये रिक्त स्थान अक्सर कष्टप्रद होते हैं, खासकर जब शेल से काम करते हैं, क्योंकि आपको उन्हें पहचानने की आवश्यकता होती है ताकि उन्हें अलग कमांड नाम या विकल्प के रूप में नहीं माना जा सके। इसलिए, इस ट्यूटोरियल में हम कुछ तरीके देखने जा रहे हैं रिक्त स्थान स्वचालित रूप से हटाएं.
इसके अलावा, हम यह भी देखेंगे कि इनका उपयोग कैसे किया जा सकता है फ़ाइलों या निर्देशिकाओं के नाम जिनमें रिक्त स्थान हैं आपको एक त्रुटि फेंकने के बिना।
रिक्त स्थान के साथ फ़ाइलों और निर्देशिकाओं का उपयोग कैसे करें
इसे आज़माने के लिए एस्केप स्पेस लिनक्स टर्मिनल में फाइलों और निर्देशिकाओं के नामों में से, आप इसे इन तरीकों से कर सकते हैं:
- पथ के उस भाग में "" (दोहरे उद्धरण) शामिल करना जहां रिक्त स्थान हैं या सभी में। उदाहरण के लिए:
cd "nombre con espacio"/
- प्रत्येक स्थान से पहले \ वर्ण का उपयोग करना। उदाहरण के लिए:
nano nombre\ con\ espacio.txt
इन तरीकों से, आप करेंगे इन कष्टप्रद स्थानों को बायपास करें. अब, इन विकल्पों का फिर से उपयोग न करने के लिए, जो अधिक असुविधाजनक हो सकता है, आप इन चरणों का पालन कर सकते हैं…
नामों से रिक्त स्थान कैसे हटाएं
अब, आप इन नामस्थानों को हमेशा के लिए समस्या बनने से रोकने के लिए विभिन्न विधियों का उपयोग कर सकते हैं। यदि आपके पास रिक्त स्थान के साथ बड़ी संख्या में नाम हैं, तो उन्हें एक-एक करके करना तर्कसंगत नहीं है, लेकिन आप इन कार्यों को स्वचालित कर सकते हैं रिक्त स्थान हटाएं या बदलें:
- इसके लिए नाम बदलें कमांड का प्रयोग करें। उदाहरण के लिए, इनमें से पहला आदेश सभी .txt फ़ाइलों से रिक्त स्थान हटाता है, जबकि दूसरा वर्तमान निर्देशिका के भीतर सभी फ़ाइलों से रिक्त स्थान हटाता है:
नाम बदलें 's/\s/_/g' ./*.txt
नाम बदलें 's/\s/_/g' ./*.*
- रिक्त स्थान वाले सभी नामों को प्रतिस्थापित करने के लिए खोज का उपयोग करें, उन्हें _ से बदलें। उदाहरण के लिए, इसे वर्तमान निर्देशिका या संपूर्ण FS के सभी .txt के साथ करें:
find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \; **find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;