इस बिल्ली की त्वचा के कई तरीके हैं!
एक विशिष्ट स्ट्रिंग को बदलने के लिए, ^old^new^extra
आपकी पिछली कमांड को लेगा , old
साथ में बदलेगा new
और एपेंड करेगा extra
। आप जैसे चाहें वैसे रुक सकते हैं; जैसे खाली स्ट्रिंग के साथ ^old
बदल जाएगा old
और खाली स्ट्रिंग को जोड़ देगा (अनिवार्य रूप से हटाने old
और अधिक कुछ नहीं करने के लिए)।
1. ^diff^checkout
2. ^cat^rm
इसका विशेष रूप से उपयोगी संस्करण:
for i in `seq 1 10`; do echo something complicated; done
# inspect the output to see if it looks right
^echo
किसी विशिष्ट शब्द को बदलने के लिए, आप कमांड के माध्यम !m:n-p
से शब्दों को संदर्भित करने के लिए उपयोग कर सकते हैं (वर्तमान कमांड से वापस गिनने के लिए नकारात्मक संख्याओं का उपयोग करें)। आप किसी एक शब्द को संदर्भित करने के लिए भाग को छोड़ सकते हैं , और पूरे कमांड को संदर्भित करने के लिए भाग को छोड़ सकते हैं । विशेष रूपों के लिए , पिछले आदेश के अंतिम शब्द के लिए, और तर्क (सभी लेकिन शब्द के लिए पिछला आदेश की) बहुत उपयोगी होते हैं।n
p
m
-p
:m-p
!!
!-1
!$
!*
0
1. !!:0 checkout !!:2-
2. rm !*
मैं अक्सर इन दोनों का उपयोग करता हूं; zsh यहाँ विशेष रूप से अच्छा है, क्योंकि टैब हिट करने से यह सुनिश्चित हो जाएगा कि आप इसे सही समझ गए हैं।
लाइन संपादन के साथ ऐसा करने के कई तरीके भी हैं। अपने खोल की चाबियों पर पढ़ें।