मैंने एक स्क्रिप्ट का उपयोग किया, जिसने मेरी फ़ाइल का नाम बदला जैसे 'गूंज webutil.olb | tr [AZ] [az] ' मैं इसे webutil.olb पर वापस नाम देना चाहता था । मैं इसे कई अन्य फ़ाइलों के लिए कैसे करता हूं जो मेरे पास हैं
मैंने एक स्क्रिप्ट का उपयोग किया, जिसने मेरी फ़ाइल का नाम बदला जैसे 'गूंज webutil.olb | tr [AZ] [az] ' मैं इसे webutil.olb पर वापस नाम देना चाहता था । मैं इसे कई अन्य फ़ाइलों के लिए कैसे करता हूं जो मेरे पास हैं
जवाबों:
डेबियन rename
आपको नाम बदलने के क्रम में फ़ाइल नाम के खिलाफ आवेदन करने के लिए एक sed प्रतिस्थापन पैटर्न निर्दिष्ट करने की अनुमति देता है।
यह मानते हुए कि फाइलें अतिरिक्त तारों के साथ बदल गई हैं, यह संभवतः मदद करेगा:
for file in echo*
do
new="${file#* }" # strip up to the first space (remove "echo ")
new="${new% |*}" # strip the space-pipe and after (remove " | tr ...")
mv "$file" "$new"
done
यह नाम बदलेगा, उदाहरण के लिए, "echo webutil.olb | tr [AZ] [az]" का नाम "webutil.olb" रखा जाएगा और इसी तरह नामित अन्य फ़ाइलों के लिए काम करेगा। यह उम्मीद करता है कि नाम एक स्थान और एक पाइप के बाद एक अंतरिक्ष के बीच होना चाहिए।
आपके उदाहरण के लिए, tr
webutil.olb को छोड़ दिया जैसा वह था।
सामान्य तौर पर, आप ऐसा नहीं कर सकते, क्योंकि आप मामले के बारे में जानकारी खो देते हैं। उदाहरण के लिए, फ़ाइल नाम "webutil.olb", tr से "WebUtil.olb" या "WEBUTIL.olb" पर आ सकता है।