अद्वितीय खोज और प्रतिस्थापन - एक्सेल, सीएसवी, vim

मेरे पास दो कॉलम के साथ एक सीएसवी है। अगर मैं एक्सेल में यह सीएसवी आयात करता हूं तो मैं कॉलम ए और कॉलम बी के साथ समाप्त होता हूं।

कॉलम ए में पाठ की एक स्ट्रिंग है उदाहरण: 1234 (प्रत्येक पंक्ति में एक अद्वितीय मान है)
कॉलम बी में पाठ की एक स्ट्रिंग है जैसे: abcd1234

मुझे स्तंभ ए में निहित कॉलम बी से टेक्स्ट को निकालना होगा। प्रत्येक पंक्ति में अद्वितीय डेटा होता है, इसलिए एक उदाहरण ऐसा दिखाई देगा:

1234, abcd1234,
5678, efgh5678,
9876, ijkl9876,

मैं इसके साथ क्या समाप्त करना चाहता हूं:

1234, abcd,
5678, efgh,
9876, ijkl,

कमांड लाइन के एक्सेल में प्रक्रिया करने के लिए मुझे कोई भी विचार है।

उत्तर:

उत्तर № 1 के लिए 1

विम में, आप इसे कर सकते हैं :substitute, पहले कॉलम को कैप्चर करना, और दूसरे कॉलम के उन हिस्सों को जो पहले मान से मेल नहीं खाते हैं (संदर्भित 1)। मैं मैच को दूसरे कॉलम पर शुरू करूंगा (साथ zs); यह प्रतिस्थापन भाग में पहले कॉलम को दोबारा संदर्भित करने से बचाता है, जिसमें पहले सामान शामिल होता है (2; अपने उदाहरण पाठ में मौजूद नहीं है), और उसके बाद (3) कॉलम 1 से दोहराया हिस्सा।

:%substitute/^([^,]+),zs([^,]*)1([^,]*)/23/

The [^,] एक सरल सीएसवी प्रारूप संभालने, एक कॉलम के अंदर किसी भी पात्रों के लिए खड़ा है ।


संबंधित सवाल
सबसे लोकप्रिय