मेरे पास एक बड़ी फ़ाइल है file.dat
, एक CSV प्रारूप में एक डेटाबेस डंप जो इस तरह दिखता है:
file_id,line_id,st_x,st_y,value1,value2,...value100
111111,1,22.22222,33.33333,0.1234567,0.246890,0.369258,...
.....
इसकी कई मिलियन लाइनें हैं।
अचानक मैंने महसूस किया कि मैं कॉलम के नाम बदलना चाहते हैं: परिवर्तन st_x
करने के लिए lon
और st_y
करने के लिए lat
।
बस मेरी मशीन पर फ़ाइल कॉपी करने में कुछ समय लगता है, चलो T_copy
सेकंड कहते हैं ।
के साथ फ़ाइल का संपादन
sed -i 's/st_y/lat/' file.dat
T_sed
जहां सेकंड लेता है T_sed ~ 1.7 T_copy
।
क्या कोई तेज़ विधि है? मुझे बुरा नहीं लगेगा अगर प्रतिस्थापन स्ट्रिंग में लक्ष्य स्ट्रिंग के समान वर्ण हों।
नोट: मुझे यकीन है कि यह प्रश्न पहले पूछा गया है, बस यह नहीं देखें कि इसे कैसे खोजना है।