मेरे पास एक बाहरी स्रोत से ~ 10,000 छवि फ़ाइलों के साथ एक निर्देशिका है।
कई फ़ाइलनामों में रिक्त स्थान और विराम चिह्न होते हैं जो DB के अनुकूल या वेब के अनुकूल नहीं होते हैं। मैं हर फ़ाइलनाम के अंत में (लेखांकन उद्देश्यों के लिए) एक SKU नंबर जोड़ना चाहता हूं। कई, यदि अधिकांश फ़ाइलनामों में विस्तारित लैटिन वर्ण भी नहीं होते हैं, जिन्हें मैं एसईओ उद्देश्यों के लिए रखना चाहता हूं (विशेष रूप से फ़ाइल नाम Google छवियों में फ़ाइल सामग्री का सटीक प्रतिनिधित्व करता है)
मैंने एक बैश स्क्रिप्ट बनाई है जो मेरे वांछित परिणाम के लिए सभी फाइलों का नाम बदल (कॉपी) करती है। बैश स्क्रिप्ट UTF-8 में सहेजी जाती है। इसे चलाने के बाद लगभग 500 फाइलें (स्टेटक फाइल में असमर्थ ...) को छोड़ देता है।
मैंने डायरेक्ट्री पर UTm -f UTF-8 -t UTF-8 चलाया है , और पता चला है कि ये 500 फ़ाइलनाम UTF-8 में एन्कोडेड नहीं हैं (convmv UTF-8 में पहले से ही फ़ाइल नाम का पता लगाने और उसे अनदेखा करने में सक्षम है
क्या कोई आसान तरीका है जिससे मुझे पता चल सके कि वर्तमान में वे किस भाषा के एन्कोडिंग का उपयोग कर रहे हैं?
जिस तरह से मैं खुद को यह पता लगाने में सक्षम हूं कि मेरे टर्मिनल एन्कोडिंग को यूटीएफ -8 में सेट किया गया है, फिर सभी सम्भावित उम्मीदवार एन्कोडिंग के माध्यम से तब तक के लिए पुनरावृत्ति कर लेते हैं जब तक कि यह एक परिवर्तित नाम प्रदर्शित नहीं करता है जो 'सही दिखता है'। मेरे पास यह निश्चित करने का कोई तरीका नहीं है कि ये 500 फाइलें सभी एक ही एन्कोडिंग का उपयोग करती हैं, इसलिए मुझे इस प्रक्रिया को 500 बार दोहराना होगा। मुझे 'सही लग रहा है' की तुलना में अधिक स्वचालित विधि पसंद है !!!