फ़ाइल नाम में विशेष चरित्र (\ # 033OA)


10

मुझे rsync के दौरान एक बहुत ही जिद्दी त्रुटि के साथ थोड़ी समस्या हुई है। यह फ़ाइल नाम में एक विशेष चरित्र के साथ फ़ाइल के कारण होता है। वहाँ दूसरों को किया गया है, लेकिन मैं फ़ाइल नाम के एन्कोडिंग में कुछ रूपांतरण कर सकता है। हालाँकि यह एक फ़ाइल मुझे भी नहीं मिल रही है।

तो यहाँ rsync क्या कहता है:

../.\#033OA.tex.pyD0MB" failed: No such file or directory (2)

पहली बात एक नोटिस कि चरित्र कोड हेक्स या अष्टाधारी नहीं किया जा सकता तो मैं यह googled है और केवल पाया है यह । तो यह एक CURSOR UPचरित्र हो सकता है (या नहीं)। मैंने कोशिश की

ls -la *`printf '\033OA'`*

कोई फायदा नहीं। मैंने उस डायरेक्टरी के ls के आउटपुट odको बिना किसी लाभ के पाइप करने की भी कोशिश की है ।

मैं और क्या कर सकता हुँ? या वैसे भी मुझे किस किरदार की तलाश है?

धन्यवाद


1
कोशिश करें ls -b, जो सी-स्टाइल से बच निकले
enzotib

धन्यवाद ... जिसने मदद की ... उसे
प्रिंटफ की मदद से आगे बढ़ाया

जवाबों:


9

आप -bविकल्प का उपयोग कर सकते हैं ls, जो गैर-चित्रमय चरित्रों को सी-स्टाइल एस्केप सीक्वेंस के रूप में दिखाता है।


1

ls -aq?प्रत्येक गैर-वर्ण वर्ण के बजाय सभी फ़ाइल नामों को प्रिंट करेगा । कई यूनिक्स वेरिएंट पर, ls -ABया ls -Ab(अपने मैन पेज की जांच करें) ऑक्टल एस्केप को प्रिंट करेगा। इसके साथ ls -aq, आप प्रदर्शित आउटपुट को शेल पैटर्न के रूप में उपयोग कर सकते हैं।

$ ls -Aq
.?OA.tex.pyD0MB
… more stuff …
$ mv -i .?OA.tex.pyD0MB weird-file
$ less weird-file

फ़ाइल के नाम पर किसी भी तरह से अपने शेल के पूरा होने का उपयोग करने का तरीका है: दर्ज करें mv .और Tabबार-बार दबाएं जब तक कि अजीब नाम न डाला जाए।


ls -qफ़ाइल दिखाते समय नहीं ls -bकिया। शायद इसलिए कि इसका फ़ाइल नाम [weird-character]OA.texवास्तव में नहीं था`printf %b '\033OA'`.tex
लक्सिफ़र

@luxifer .फ़ाइल नाम की शुरुआत में है, इसलिए आपको आवश्यकता है ls -Aqया ls -aq। और यदि आप शेल वाइल्डकार्ड का उपयोग करते हैं, तो आपको .स्पष्ट करने की आवश्यकता है : *फ़ाइल को शामिल नहीं किया .*जाएगा लेकिन होगा।
गिलेस एसओ- बुराई को रोकना '

नहीं वहाँ नहीं था! मेरे द्वारा पोस्ट किया गया आउटपुट rsync से था और यह पंक्ति का अंत था। रुपीस पहले $DESTINATION/.$FILENAMEफ़ाइल को सही नाम पर ले जाने से पहले कॉपी करता है । स्रोत पर फ़ाइल .उसके नाम की शुरुआत में नहीं थी। इसके अलावा, जैसा कि कहा गया है, ls -qजबकि फ़ाइल नहीं दिखाया गया है ls -b
लक्सिफ़र
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.