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 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
head -n <number_of_lines> <filename> > <truncated_filename>
gdzie-n
jest parametr liczby linii, które chcesz od góry