आप अपने शेल की पाठ प्रतिस्थापन क्षमताओं का उपयोग कर सकते हैं। में bash
, आप एक जानवर का उपयोग कर सकते हैं जैसे:
mv blob/a_long_directory_name/c/xx !#:$:gs^c/xx^evenmore/yy
इसे तोड़ने के लिए:
!#
अब तक टाइप की गई वर्तमान लाइन है
:$
विचाराधीन ( इस मामले में) स्ट्रिंग के अंतिम शब्द (संख्या n
को लेने के लिए n
'वें शब्द) को लेने के लिए कहता है !#
। अब तक टाइप की गई लाइन का आखिरी शब्द पिछला शब्द होगा।
:gs^xx^yy
परिणामी शब्द पर वैश्विक ( g
) पाठात्मक प्रतिस्थापन ( s
), 'xx' को 'yy' से बदल देता है। आपके पैटर्न का उपयोग करने की अनुमति देने के ^
लिए केवल एक सीमांकक है ।s
/
यह विधि थोड़ी अधिक सामान्य है क्योंकि यह आपको पथ के किसी भी भाग ('xx') को किसी अन्य शब्द ('yy') से बदलने देती है।
अंत में, किसी भी इतिहास हेरफेर के साथ, उपयुक्त शेल विकल्प सेट (जैसे ~/.bashrc
) करना अच्छा है। इस मामले में
shopt -s histverify
वापसी के बाद आप संपादित लाइन प्रदर्शित करेंगे, ताकि आप अभी भी इसे संपादित कर सकें और त्रुटियों की जाँच कर सकें।
आप एक निर्माण का उपयोग क्यों करेंगे जैसे कि मुझे यकीन नहीं है, लेकिन यह इस मामले में काम करता है।
even_more
सापेक्ष पथ को संबोधित नहीं करता है ...