Tôi có các tệp rất lớn (hơn 10Gb). Tôi chỉ cần một số dòng từ đầu tập tin. Có thể (trong vim) để xóa phần còn lại của tệp (từ dòng hiện tại đến cuối tệp)?
Tôi có các tệp rất lớn (hơn 10Gb). Tôi chỉ cần một số dòng từ đầu tập tin. Có thể (trong vim) để xóa phần còn lại của tệp (từ dòng hiện tại đến cuối tệp)?
Câu trả lời:
dG sẽ xóa từ dòng hiện tại đến cuối tập tin
dCtrl+ Endsẽ xóa từ con trỏ đến cuối tập tin
Nhưng nếu tệp này lớn như bạn nói, bạn có thể tốt hơn hết là đọc vài dòng đầu tiên headthay vì chỉnh sửa và lưu tệp.
head hugefile > firstlines
(Nếu bạn đang ở trên Windows, bạn có thể sử dụng cổng Win32 của head)
headcung cấp với ví dụ: head -n20 hugefiletrong 20 dòng đầu tiên. n mặc định là 10.
head? Sử dụng dG trên một tệp lớn (1G +) mất rất nhiều thời gian (ví dụ: 5 phút).
dggsẽ xóa từ dòng hiện tại đến đầu tập tin.
Chuyển đến dòng đầu tiên mà bạn muốn xóa và nhấn các phím dG
:.,$d
Điều này sẽ xóa tất cả nội dung từ dòng hiện tại đến cuối tập tin. Điều này rất hữu ích khi bạn đang xử lý việc tạo hoặc thử nghiệm vectơ thử nghiệm.
:<line number>,$dví dụ: :3,$dsẽ xóa từ dòng 3 đến cuối tệp
Chỉ cần thêm một cách khác, trong chế độ bình thường, nhập ctrl+vrồi G, chọn phần còn lại, sau đó D, tôi không nghĩ nó hiệu quả, bạn nên làm như @Ed Guiness, head -n 20> tên tệp trong linux.
head -n <number_of_lines> <filename> > <truncated_filename>Đâu-nlà tham số cho số dòng bạn muốn từ đầu