Mam bardzo duże pliki (ponad 10 Gb). Potrzebuję tylko kilku wierszy z góry pliku. Czy jest możliwe (w vimie) usunięcie reszty pliku (od bieżącej linii do końca pliku)?
213
dG usunie z bieżącego wiersza do końca pliku
dCtrl+ Endusunie od kursora do końca pliku
Ale jeśli ten plik jest tak duży, jak mówisz, lepiej jest przeczytać kilka pierwszych wierszy head
zamiast edytować i zapisywać plik.
head hugefile > firstlines
(Jeśli korzystasz z systemu Windows, możesz użyć portu Win32 head
)
head
zasila np. head -n20 hugefile
dla pierwszych 20 linii. n domyślnie
head
? Korzystanie z dG na dużym pliku (1G +) zajmuje dużo czasu (np. 5 minut).
dgg
usunie z bieżącego wiersza do początku pliku.
Przejdź do pierwszego wiersza, z którego chcesz usunąć, i naciśnij klawisze dG
:.,$d
Spowoduje to usunięcie całej zawartości z bieżącego wiersza do końca pliku. Jest to bardzo przydatne w przypadku generowania lub usuwania wektorów testowych.
:<line number>,$d
na przykład: :3,$d
usunie z linii 3 do końca pliku
Po prostu dodaj inny sposób, w trybie normalnym wpisz, ctrl+v
a następnie G
wybierz resztę, a następnie D
, nie sądzę, aby był skuteczny, powinieneś zrobić jak @Ed Guiness, head -n 20> nazwa pliku w systemie Linux.
head -n <number_of_lines> <filename> > <truncated_filename>
gdzie-n
jest parametr liczby linii, które chcesz od góry