लिनक्स में फाइल में विशिष्ट अक्षरों को बदलकर फाइल का नाम कैसे बदलें


3

मैंने एक स्क्रिप्ट का उपयोग किया, जिसने मेरी फ़ाइल का नाम बदला जैसे 'गूंज webutil.olb | tr [AZ] [az] ' मैं इसे webutil.olb पर वापस नाम देना चाहता था । मैं इसे कई अन्य फ़ाइलों के लिए कैसे करता हूं जो मेरे पास हैं


1
क्या फ़ाइल नाम का शाब्दिक अर्थ उन तार हैं या आपने इसे ऊपरी या निचले मामले में बदल दिया है या इसे वापस बदलना चाहते हैं?
डेनिस विलियमसन

जवाबों:


2

डेबियन renameआपको नाम बदलने के क्रम में फ़ाइल नाम के खिलाफ आवेदन करने के लिए एक sed प्रतिस्थापन पैटर्न निर्दिष्ट करने की अनुमति देता है।


यदि आप स्थापित किया है पर्ल इस बार द्वारा आपूर्ति की है prename (क्लासिक के एक संस्करण rename.pl लिपि), तो बदलने के बजाय पर्ल sed है।
क्विकोट

1

यह मानते हुए कि फाइलें अतिरिक्त तारों के साथ बदल गई हैं, यह संभवतः मदद करेगा:

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" रखा जाएगा और इसी तरह नामित अन्य फ़ाइलों के लिए काम करेगा। यह उम्मीद करता है कि नाम एक स्थान और एक पाइप के बाद एक अंतरिक्ष के बीच होना चाहिए।


0

आपके उदाहरण के लिए, trwebutil.olb को छोड़ दिया जैसा वह था।

सामान्य तौर पर, आप ऐसा नहीं कर सकते, क्योंकि आप मामले के बारे में जानकारी खो देते हैं। उदाहरण के लिए, फ़ाइल नाम "webutil.olb", tr से "WebUtil.olb" या "WEBUTIL.olb" पर आ सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.