मैं इस एक-लाइनर का उपयोग उपशीर्षक फ़ाइलों में अमान्य वर्णों को निकालने के लिए करता हूं:
for f in *.srt; do nf=$(echo "$f" |sed -e 's/[^A-Za-z0-9.-]/./g;s/\.\.\././g;s/\.\././g'); test "$f" != "$nf" && mv "$f" "$nf" && echo "$nf"; done
- केवल प्रक्रिया * .Srt फ़ाइलें (* का उपयोग *। Srt हर फ़ाइल को संसाधित करने के लिए किया जा सकता है)
- अक्षर ए-ज़-ज़, संख्या 0-9, अवधि "," और डैश का "-" को छोड़कर अन्य सभी पात्रों को हटा देता है।
- संभावित डबल या ट्रिपल पीरियड्स को हटाता है
- यह देखने के लिए जाँच करता है कि फ़ाइल नाम बदलने की आवश्यकता है या नहीं
- यदि यह सही है, तो यह mv कमांड के साथ फाइल का नाम बदल देता है, फिर इको कमांड के साथ किए गए परिवर्तनों को आउटपुट करता है
यह फिल्मों के निर्देशिका नामों को सामान्य बनाने के लिए काम करता है:
for f in */; do nf=$(echo "$f" |sed -e 's/[^A-Za-z0-9.]/./g' -e 's/\.\.\././g' -e 's/\.\././g' -e 's/\.*$//'); test "$f" != "$nf" && mv "$f" "$nf" && echo "$nf"; done
उपरोक्त चरणों के समान ही, लेकिन मैंने निर्देशिका के अंत में एक अवधि निकालने के लिए एक और sed कमांड जोड़ी
भविष्य के अतीत के एक्स-मेन डेज़ (2014) [1080p] इसमें
संशोधन किया गया:
X-Men.Days.of.Future.Past.2014.1080p