У мене дуже великі файли (більше 10 Гбіт). Мені потрібні лише деякі рядки вгорі файлу. Чи можна (in vim) видалити решту файлу (з поточного рядка до кінця файлу)?
У мене дуже великі файли (більше 10 Гбіт). Мені потрібні лише деякі рядки вгорі файлу. Чи можна (in 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
параметр для кількості рядків, які ви хочете зверху