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)?
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)?
Odpowiedzi:
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 headzamiast edytować i zapisywać plik.
head hugefile > firstlines
(Jeśli korzystasz z systemu Windows, możesz użyć portu Win32 head)
headzasila np. head -n20 hugefiledla pierwszych 20 linii. n domyślnie
head? Korzystanie z dG na dużym pliku (1G +) zajmuje dużo czasu (np. 5 minut).
dggusunie 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>,$dna przykład: :3,$dusunie z linii 3 do końca pliku
head -n <number_of_lines> <filename> > <truncated_filename>gdzie-njest parametr liczby linii, które chcesz od góry