У меня очень большие файлы (более 10 Гб). Мне нужно только несколько строк в верхней части файла. Можно ли (в vim) удалить оставшуюся часть файла (от текущей строки до конца файла)?
У меня очень большие файлы (более 10 Гб). Мне нужно только несколько строк в верхней части файла. Можно ли (в vim) удалить оставшуюся часть файла (от текущей строки до конца файла)?
Ответы:
dG удалит из текущей строки в конец файла
dCtrl+ Endудалит от курсора до конца файла
Но если этот файл настолько большой, как вы говорите, вам лучше прочитать первые несколько строк, head
а не редактировать и сохранять файл.
head hugefile > firstlines
(Если вы используете Windows, вы можете использовать порт Win32 head
)
head
снабжает, например: head -n20 hugefile
для первых 20 строк. n по умолчанию 10.
head
? Использование dG для большого файла (1G +) занимает много времени (например, 5 минут).
dgg
удалят с текущей строки до начала файла.
Перейдите к первой строке, которую вы хотите удалить, и нажмите клавиши dG
:.,$d
Это удалит весь контент от текущей строки до конца файла. Это очень полезно, когда вы имеете дело с генерацией или разбором тестового вектора.
:<line number>,$d
например: :3,$d
удаляю из строки 3 до конца файла
head -n <number_of_lines> <filename> > <truncated_filename>
Где-n
находится параметр для числа строк, которые вы хотите сверху