मुझे MS-DOS पृष्ठभूमि से आने का दुर्भाग्य है - लेकिन कम से कम यह मुझे सराहना देता है कि लिनक्स कितना शक्तिशाली है। मैं अपने लिनक्स-फू को बराबर करने पर काम कर रहा हूं, लेकिन कुछ चीजें हैं जो डॉस के साथ की जा सकती हैं, मुझे यकीन नहीं है कि लिनक्स के साथ सबसे आसानी से कैसे पूरा किया जाए :
एकाधिक फ़ाइलों का नामकरण - दो वाइल्डकार्ड का उपयोग करना
c:\> dir
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
c:\>rename *.txt *.bak
c:\> dir
Directory of c:\
file1.bak
file2.bak
file3.bak
file4.bak
मुझे पता है कि मैं find -exec
यहां इस्तेमाल कर सकता हूं, लेकिन एक छोटे सिंटैक्स का उपयोग करना संभव है - शायद mv
कुछ विशेष झंडे या सिंटैक्स के साथ? मुझे लगता है कि यह दूसरी *
वाइल्डकार्ड है क्योंकि लिनक्स में पहले वाले के साथ कोई समस्या नहीं होनी चाहिए (यानी मुझे पता है कि मुझे उन फ़ाइलों का चयन कैसे करना है जिनका मैं वाइल्डकार्ड का उपयोग करके नाम बदलना चाहता हूं)
एक फ़ाइल का नामकरण - एक वाइल्डकार्ड का उपयोग करना
c:\> dir
Directory of c:\
file1.txt
c:\>rename file1.txt *.bak
c:\> dir
Directory of c:\
file1.bak
यह लंबी और अनकही फ़ाइल नामों का नाम बदलने पर विशेष रूप से उपयोगी होगा। मैंने सोचा कि शायद मैं इसका उपयोग mv file1.txt $1.bak
करने के लिए उपयोग कर सकता हूं file1.txt.bak
जो स्वीकार्य भी होगा लेकिन मुझे यकीन नहीं है कि आप $1
शेल कमांड के साथ एक पैरामीटर इनलाइन का संदर्भ दे सकते हैं । इस विशेष मामले में फिर से यह सुविधाजनक है कि *
फ़ाइलनाम के भाग के लिए ms-dos वाइल्डकार्ड को किस तरह से कैप्चर / रिप्लेस मैच के रूप में उपयोग किया जा सकता है।
एक वाइल्डकार्ड के साथ निर्देशिका लिस्टिंग को फ़िल्टर करना
c:\> dir
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
text.txt
\temp (directory)
c:\> dir file*
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
c:\> t*
Directory of c:\
text.txt
\temp (directory)
मुझे यकीन नहीं है कि ऐसा करने के लिए सही सिंटैक्स क्या ls
है, या यदि यह संभव है। अगर मैंने ऐसा कुछ किया, तो ls t*
यह उन निर्देशिकाओं में फिर से शुरू हो जाएगा, जो शुरू होती हैं t
। मेरा वर्कअराउंड या तो उपयोग कर रहा है find . --max-depth 1 -iname "t*"
या जैसे कुछ ls -al | grep t
- जिसमें से कोई भी छोटा और सरल नहीं dir t*
है।
अंत में, मुझे पता है कि मैं इन लंबे आदेशों को कम करने के लिए उपनाम सेट कर सकता हूं, लेकिन मैं इन चीजों को करने के लिए कुछ आउट-ऑफ-द-बॉक्स लिनक्स-फू सीखना चाहूंगा क्योंकि कभी-कभी आप एक रिमोट सिस्टम या काम से जुड़े होते हैं एक नई मशीन पर।
तो मैं कैसे mv
और ls
फ़ाइलों को उसी तरह से कर सकता हूं जो मैं dir
और rename
फाइलों के लिए करता था?