2010-01-18 5 views
16

मेरे पास एक फ़ाइल है जिसे ईबीसीडीआईसी से ASCII में परिवर्तित किया गया था। जहां नई लाइनें होती थीं वहां अब वर्ण हैं जो < 85> (एक वर्ण का प्रतिनिधित्व करने वाला प्रतीक है, चार वर्ण नहीं दिखते हैं) और पूरी फ़ाइल एक पंक्ति पर है। मैं उन्हें खोजना चाहता हूं और उन्हें सभी को नई लाइनों के साथ बदलना चाहता हूं, लेकिन मुझे नहीं पता कि कैसे।मैं विम में <85> के रूप में प्रदर्शित करने वाले चरित्र की खोज कैसे कर सकता हूं?

मैं एक पर कर्सर डालने और का उपयोग कर * अगली आवृत्ति के लिए खोज करने के लिए, उम्मीद है कि यह मेरे/खोज इतिहास में दिखाई दे सकते की कोशिश की। वह काम नहीं किया। यह सिर्फ < 85> चरित्र के बाद वाले शब्द की खोज की गई।

मैं कुछ के आसपास googled, लेकिन कुछ भी स्पष्ट नहीं देखा।

:%s/<85>/\n/g 

जो वर्तमान में सिर्फ मुझे देता है::

मेरा लक्ष्य एक खोज का निर्माण और की तरह स्ट्रिंग को बदलने के लिए है

E486: Pattern not found: <85> 

धन्यवाद!

+0

आप एक वर्ण की प्रतिलिपि बनाने के लिए 'y 'दबा सकते हैं। –

उत्तर

23

मैं this post एक गूगल खोज से पाया । लगता है जैसे आप ऐसा करने में सक्षम होना चाहिए:

:%s/\%x85/\r/gc 

(। c छोड़ संकेत दिए बिना प्रतिस्थापन करना है, यकीन है कि यह क्या कर रही है कि तुम क्या करना चाहते हैं बनाने के लिए c पहले से कोशिश)

में vim, टाइपिंग :h \%x अधिक जानकारी देता है। \%x के अतिरिक्त, आप \%d, \%o, \%u और \%U दशमलव, ऑक्टल, चार तक और आठ हेक्साडेसिमल वर्णों के लिए उपयोग कर सकते हैं।

+0

इसे पकड़ा। धन्यवाद! –

-4

इस प्रयास करें: :%s/<85>/^M/g

ध्यान दें: प्रेस Ctrl-V का एक साथ तो एम

या यदि आप अन्य उपकरण का उपयोग कर कोई आपत्ति नहीं है,

awk '{gsub("<85>","\n")}1' file 
+0

\ n समस्या नहीं है। यह <85> है। हालांकि धन्यवाद। –

+0

यह मेरे लिए काम करता है। अपनी नमूना फ़ाइल – ghostdog74

+0

दिखाएं "<85>" एक एकल वर्ण है, <4, 5, और> की चार वर्ण स्ट्रिंग नहीं है। –

संबंधित मुद्दे