यह एक अच्छा विचार नहीं है
यह convmv
केवल एक सरल पर्ल स्क्रिप्ट है, इसलिए कोड को संपादित करना काफी आसान है। यदि परीक्षण के परिणामों को अनदेखा करने और जारी रखने के लिए यह कहकर, मैं कुछ करने में सक्षम था, तो यह बाहर निकलने के लिए निर्धारित है।
../convmv.modified.pl --notest -f utf8 -t windows-1255 זטחם�.docx
Your Perl version has fleas #37757 #49830
cp1255 doesn't cover all needed characters for: "./זטחם�.docx"
mv "./זטחם�.docx" "./����"
Ready!
इसने एक फ़ाइल बनाई ????
, जिसे मैं तब उपयोग कर सकता था, जो convmv
अपने एन्कोडिंग को बदलने के लिए utf8 में बदल सकती थी ( find
इसलिए उपयोग करना था क्योंकि मैं ????
एक फ़ाइल के रूप में नहीं दे सकता था ):
find . -type f -exec convmv --notest -f windows-1255 -t utf8 {} \;
$ find . -type f -exec convmv --notest -f windows-1255 -t utf8 {} \;
Your Perl version has fleas #37757 #49830
mv "./����" "./זטחם"
Ready!
फिर मैंने docx
एक्सटेंशन ( mv זטחם זטחם.docx
) जोड़ने के लिए फ़ाइल का नाम बदल दिया और फ़ाइल को libre office में खोल सकता था।
यह एक बुरा विचार है क्योंकि मैंने उस समस्या को हल नहीं किया है जो convmv
आपकी फ़ाइलों को सही ढंग से परिवर्तित करने से रोकती है, मैंने बस इसे अनदेखा कर दिया है। मुझे लगता है कि समस्या यह है कि आपके पहले, गलत रूपांतरण ने फ़ाइल नाम में अजीब अक्षर जोड़े जो convmv
पता नहीं है कि कैसे निपटना है। मैं इसकी गारंटी नहीं दे सकता (या यहां तक कि इस पर एक राय भी प्रस्तुत कर सकता हूं) कि यह आपकी फाइलों को नुकसान नहीं पहुंचाएगा। मेरा सुझाव है कि आप इसे पहले एक फ़ाइल पर आज़माएँ और देखें कि क्या यह वास्तव में काम करता है।
दूसरी समस्या यह है कि मैं फाइल के नाम की उसी वर्णमाला में होने की उम्मीद कर रहा था जैसा कि फ़ाइल के पाठ में है और यह नहीं है (मुझे लगता है), इसलिए पूरा ऑपरेशन शायद विफल हो गया। चूंकि मैं प्रश्न में वर्णमाला नहीं पढ़ सकता हूं इसलिए मुझे यकीन नहीं हो सकता है।
वैसे भी, यदि आप इसे आज़माना चाहते हैं, तो आपको निम्नलिखित बदलाव करने होंगे /usr/bin/convmv
:
टिप्पणी लाइन 359, इसे बदलें:
die "To prevent damage to your files, we won't continue.\nFirst fix errors or correct options!\n" if ($errors_occurred);
इसके लिए:
#die "To prevent damage to your files, we won't continue.\nFirst fix errors or correct options!\n" if ($errors_occurred);
और इसे बदलें (लाइन 460):
from_to($newname, $opt_f, $opt_t, Encode::FB_QUIET) or die "SHOULD NOT HAPPEN HERE: conversion error, so suitable charset used?: \"$oldfile\"\nTo prevent damage to your files, we won't continue. First fix this!\n";
इसके लिए:
from_to($newname, $opt_f, $opt_t, Encode::FB_QUIET);