यह मूल निर्देशिका के साथ foo.cनई निर्देशिका में स्थानांतरित हो जाएगा ।bazbar
mv foo.c `mkdir -p ~/bar/baz/ && echo $_`
आवश्यकतानुसार मध्यवर्ती निर्देशिकाएँ बनाने का -pविकल्प mkdir।
के बिना-pपथ में सभी निर्देशिकाओं के उपसर्ग पहले से मौजूद होना चाहिए।
बैकटिक्स के अंदर सब कुछ ``निष्पादित होता है और आउटपुट आपके कमांड के हिस्से के रूप में इन-लाइन में वापस आ जाता है।
चूंकि mkdirकुछ भी वापस नहीं आता है, केवल आउटपुट echo $_को कमांड में जोड़ा जाएगा।
$_पहले निष्पादित कमांड के अंतिम तर्क का संदर्भ देता है।
इस स्थिति में, यह आपकी नई निर्देशिका ( ~/bar/baz/) को दिए गए पथ को वापस कर देगाmkdir कमांड ।
मैंने एक गंतव्य को दिए बिना एक संग्रह को अनज़िप कर दिया और
demo-app.zipअपनी वर्तमान निर्देशिका को छोड़कर सभी फाइलों को एक नई निर्देशिका में स्थानांतरित करना चाहा
demo-app।
निम्नलिखित लाइन चाल है:
mv `ls -A | grep -v demo-app.zip` `mkdir -p demo-app && echo $_`
ls -Aछिपी हुई फ़ाइलों सहित सभी फ़ाइल नाम लौटाता है ( निहित के अलावा .और.. )।
पाइप प्रतीक |का उपयोग lsकमांड के आउटपुट grep( एक कमांड-लाइन, सादा-पाठ खोज उपयोगिता ) को पाइप करने के लिए किया जाता है । ध्वज को निर्देश खोजने के लिए और सभी फ़ाइल नाम को छोड़कर वापस जाने के लिए ।
फ़ाइलों की उस सूची को कमांड कमांड में जोड़ा जाता है, जो कि कमांड कमांड में ले जाए जाते हैं । लक्ष्य तर्क नई निर्देशिका का उपयोग करने और आउटपुट का उपयोग करने के लिए पारित करने का मार्ग है ।
-vgrepdemo-app.zip
mvmkdir$_echo