У меня есть большой файл 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
.
Есть ли более быстрый метод? Я не возражаю, если строка замены должна иметь такое же количество символов, что и строка назначения.
Примечание: я уверен, что этот вопрос уже задавался, просто не вижу, как его найти.