फ़ाइल नाम के रूप में \ r वाली फ़ाइल को हटाएं या उसका नाम बदलें


10

मेरे पास एक pesky छोटी फ़ाइल है जिसका नाम एकल वर्ण प्रतीत होता है, और वह वर्ण a है \r

मैं इसे कैसे हटा सकता हूं?

यह वही है जो मुझे मिलता है ls -bl:

-rw-rwxr--+   1 root             snapplewriters        0 Aug 29  2011 \r

ls -l बस इसे प्रदर्शित करें "?"


तुम भी कैसे उस तरह एक फ़ाइल के साथ समाप्त हुआ?
मिकिटो

जवाबों:


16

हमारे ls -li, फ़ाइल (प्रथम कॉलम) के लिए आइनोड संख्या प्राप्त करने के लिए तो उपयोग करें findइसे हटाने के लिए (यह मानते हुए inode 12345 है):

find . -inum 12345 -exec rm -i {} \;


धन्यवाद - यह बेहद मददगार है - मुझे ऐसा लगा कि फ़ाइल में किसी प्रकार का असमान सिस्टम होना चाहिए, लेकिन यह (वैसे भी जल्दी से) नहीं मिल सका।
कॉलिन

1
findस्थापित के संस्करण के आधार पर , आप यह भी कर सकते हैंfind . -inum 12345 -delete
विलियम जैक्सन

मेरे लिए, यह जितना अधिक संस्करण-अज्ञेय है, उतना बेहतर है। लेकिन अच्छा सुझाव कोई भी कम नहीं। :)
गैरेट


5

मैं व्यक्तिगत रूप से पायथन के लिए पहुंचूंगा:

>>> import os
>>> '\r' in os.listdir('.')
True
>>> os.unlink('\r')

लेकिन आप इसे शेल से भी कर सकते हैं यदि आप बच पात्रों को समझते हैं।

$ ls -b $'\r'
\r
$ rm -vi $'\r'
rm: remove regular empty file \r’? y
removed \r

मुझे लगता है कि आपके पास आपकी रसोई में एक स्लेजहैमर भी है? बस मामले में आप एक अखरोट दरार की जरूरत है? :-)
mivk

3

<carriage return>यदि आप बैश शेल का उपयोग कर रहे हैं, तो एक फ़ाइल को निकालने का दूसरा त्वरित तरीका है:

$ rm <control-v><control-m>

2

एकल-वर्ण फ़ाइल नाम असामान्य हैं, और यदि आपकी निर्देशिका में ऐसी कोई अन्य फ़ाइल नहीं है, तो आप यह कोशिश कर सकते हैं:

rm ?

मैं सीखने में बहुत आलसी हूं या अजीब चरित्रों को उद्धृत करने का तरीका देखता हूं, इसलिए मैंने कई बार इसके वेरिएंट का उपयोग किया है जब मैं कठिन नामों वाली फाइलों के साथ फंस गया था।


-1 यह एक एकल चरित्र नाम के साथ सभी फाइलों से मेल खाता है - "पथनाम विस्तार" देखें man bash। कोशिश करेंtouch a b c d $'\r'; rm ?
l0b0

1
@ l0b0: हाँ? जैसा कि मैंने लिखा है, एकल-वर्ण फ़ाइल नाम असामान्य हैं। यह काफी संभावना है कि निर्देशिका में ऐसी कोई अन्य फ़ाइलें नहीं हैं, और उस स्थिति में, यह काम करता है। अन्यथा "आरएमआई?" इस्तेमाल किया जा सकता है।
थॉमस पैडरॉन-मैकार्थी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.