Trình chỉnh sửa văn bản để mở các tệp văn bản lớn (khổng lồ, khổng lồ, lớn) [đã đóng]


1023

Ý tôi là lớn hơn 100 MB; tập tin văn bản như vậy có thể đẩy phong bì của các biên tập viên.

Tôi cần xem qua một tệp XML lớn, nhưng không thể nếu trình soạn thảo bị lỗi.

Bất kỳ đề xuất?


166
Trên thực tế, các tệp văn bản trên 100 MB hoặc thậm chí 1+ GB không phải là hiếm như bạn nghĩ (ví dụ: các tệp nhật ký từ các máy chủ bận rộn).
Anders Sandvig

15
Lén lút: Và không chính xác văn bản. Tôi nghĩ rằng các yêu cầu của việc đọc tệp văn bản và đọc tệp nhị phân khác nhau một chút. Bạn có thể vượt qua nó thông qua base64 hoặc uuencode.
Joey

2
Đây ít nhất phải là một câu hỏi tương tự hoặc thậm chí được liên kết như đã được hỏi 18 tháng trước ... stackoverflow.com/questions/102829/iêu
ONDEV

1
Tôi cũng đang tìm câu trả lời cho câu hỏi chính xác này để đọc một số tệp nhật ký khổng lồ mà tôi đã tạo!
HorseloverFat

1
@BlairHippo Tôi cũng cảm thấy như vậy, tôi gần như lo lắng khi đặt câu hỏi bởi vì rất có thể ai đó sẽ nói "Đóng cái này lại, nó nên đi trong AnyExchange thay vào đó"
Rodolfo

Câu trả lời:


1387

Người xem chỉ đọc miễn phí:

  • Trình xem tệp văn bản lớn (Windows) - Chủ đề hoàn toàn có thể tùy chỉnh (màu sắc, phông chữ, gói từ, kích thước tab). Hỗ trợ xem ngang và dọc. Cũng hỗ trợ tập tin sau và tìm kiếm regex. Rất nhanh, đơn giản và có kích thước thực thi nhỏ.
  • klogg (Windows, macOS, Linux) - Một nhánh của glogg được duy trì, tính năng chính của nó là tìm kiếm biểu thức chính quy. Nó cũng có thể xem các tập tin, cho phép người dùng đánh dấu các dòng và có các tối ưu hóa nghiêm trọng được tích hợp. Nhưng từ quan điểm UI, nó xấu và lộn xộn.
  • LogExpert (Windows) - "Thay thế GUI chotail." Đây thực sự là một trình phân tích tệp nhật ký, không phải là trình xem tệp lớn và trong một thử nghiệm, nó cần 10 giây và 700 MB RAM để tải tệp 250 MB. Nhưng các tính năng sát thủ của nó là trình tạo cột (nhật ký phân tích cú pháp bằng CSV, JSONL, v.v. và hiển thị ở định dạng bảng tính) và công cụ tô sáng (hiển thị các dòng với một số từ nhất định trong một số màu nhất định). Cũng hỗ trợ theo dõi tập tin, tab, multifiles, đánh dấu, tìm kiếm, plugin và các công cụ bên ngoài.
  • Lister (Windows) - Rất nhỏ và tối giản. Đó là một thực thi, chỉ có 500 KB, nhưng nó vẫn hỗ trợ tìm kiếm (với regexes), in, chế độ soạn thảo hex và cài đặt.
  • loxx (Windows) - Hỗ trợ theo dõi tệp, tô sáng, số dòng, tệp lớn, regex, nhiều tệp và chế độ xem, và nhiều hơn nữa. Phiên bản miễn phí không thể: xử lý regex, lọc tệp, đồng bộ hóa dấu thời gian và lưu các tệp đã thay đổi.

Biên tập viên miễn phí:

  • Trình soạn thảo hoặc IDE thông thường của bạn. Các biên tập viên hiện đại có thể xử lý các tệp lớn đáng ngạc nhiên. Cụ thể, Vim (Windows, macOS, Linux), Emacs (Windows, macOS, Linux), Notepad ++ (Windows), Sublime Text (Windows, macOS, Linux) và VS Code (Windows, macOS, Linux) hỗ trợ lớn (~ 4 GB) tệp, giả sử bạn có RAM.
  • Trình chỉnh sửa tệp lớn (Windows) - Mở và chỉnh sửa các tệp TB +, hỗ trợ Unicode, sử dụng ít bộ nhớ, có các tính năng dành riêng cho XML và bao gồm chế độ nhị phân.
  • GigaEdit (Windows) - Hỗ trợ tìm kiếm, thống kê ký tự và tùy chỉnh phông chữ. Nhưng đó là lỗi - với các tệp lớn, nó chỉ cho phép ghi đè các ký tự, không chèn chúng; nó không tôn trọng LF như một công cụ kết thúc dòng, chỉ CRLF; và nó chậm.

Các chương trình dựng sẵn (không cần cài đặt):

  • less (macOS, Linux) - Công cụ máy nhắn tin dòng lệnh Unix truyền thống. Cho phép bạn xem các tập tin văn bản thực tế ở bất kỳ kích thước. Có thể được cài đặt trên Windows, quá.
  • Notepad (Windows) - Decent với các tệp lớn, đặc biệt là tắt word quấn.
  • THÊM (Windows) - Điều này đề cập đến WindowsMORE, không phải Unixmore. Một chương trình điều khiển cho phép bạn xem một tập tin, một màn hình tại một thời điểm.

Người xem web:

Biên tập viên trả phí:

  • Trình chỉnh sửa 010 (Windows, macOS, Linux) - Mở các tệp khổng lồ (lớn tới 50 GB).
  • SlickEdit (Windows, macOS, Linux) - Mở các tệp lớn.
  • UltraEdit (Windows, macOS, Linux) - Mở các tệp lớn hơn 6 GB, nhưng phải thay đổi cấu hình để thực tế: Menu »Nâng cao» Cấu hình »Xử lý tệp» Tệp tạm thời »Mở tệp không có tệp tạm thời ...
  • EmEditor (Windows) - Xử lý các tệp văn bản rất lớn độc đáo (chính thức lên tới 248 GB, nhưng tối đa 900 GB theo một báo cáo).

60
VIM hoặc Emacs ... chọn chất độc của bạn, cả hai sẽ xử lý bất kỳ tệp nào bạn ném vào chúng. Cá nhân tôi thích Emacs, nhưng cả hai sẽ đánh bại notepad mà không cần nhiều tiếng nấc.
Mike Stone

25
Emacs có kích thước bộ đệm tối đa, phụ thuộc vào kiến ​​trúc cơ bản (32 hoặc 64 bit). Tôi nghĩ rằng trên các hệ thống 32 bit, bạn gặp lỗi "vượt quá kích thước bộ đệm tối đa" trên các tệp lớn hơn 128 MB.
Rafał Dowgird

82
Tôi vừa thử Notepad ++ với tệp nhật ký 561 MB và nó nói rằng nó quá lớn
barfoon

9
@Rafal Thú vị! Hình như trên 64 bit là ~ 1024 petabyte. Lý do có liên quan đến thực tế là emacs phải theo dõi các vị trí bộ đệm (chẳng hạn như điểm)
baudtack

79
Nhưng hãy cẩn thận, vim sẽ chỉ hoạt động miễn là các tệp trong câu hỏi có đủ ngắt dòng. Tôi đã từng phải chỉnh sửa một ca. Tập tin 150 MB mà không có bất kỳ ngắt dòng nào và phải dùng đến gedit vì vim không thể xử lý nó.
Benno

192

Các mẹo và thủ thuật

ít hơn

Tại sao bạn sử dụng các trình soạn thảo để chỉ xem một tệp (lớn)?

Trong * nix hoặc Cygwin , chỉ cần sử dụng ít hơn . . Vim, nhưng không có tệp hoán đổi và ít RAM được sử dụng.

Có một cổng Win32 của GNU ít hơn. Xem phần "ít" của câu trả lời ở trên.

Perl

Perl là tốt cho các kịch bản nhanh chóng, và toán tử ..(phạm vi lật) của nó tạo ra một cơ chế lựa chọn tốt để hạn chế sự khó khăn mà bạn phải lội qua.

Ví dụ:

$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less

Điều này sẽ trích xuất mọi thứ từ dòng 1 triệu đến dòng 2 triệu và cho phép bạn sàng lọc đầu ra theo cách thủ công.

Một vi dụ khac:

$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less

Điều này bắt đầu in khi "biểu thức chính quy một" tìm thấy một cái gì đó và dừng lại khi "biểu thức chính hai" tìm thấy phần cuối của một khối thú vị. Nó có thể tìm thấy nhiều khối. Chọn lọc đầu ra ...

logparser

Đây là một công cụ hữu ích khác mà bạn có thể sử dụng. Để trích dẫn bài viết Wikipedia :

logparser là một tiện ích dòng lệnh linh hoạt ban đầu được viết bởi Gabriele Giuseppini, một nhân viên của Microsoft, để tự động hóa các bài kiểm tra để ghi nhật ký IIS. Nó được thiết kế để sử dụng với hệ điều hành Windows và được bao gồm trong Công cụ tài nguyên IIS 6.0. Hành vi mặc định của logparser hoạt động giống như một "đường ống xử lý dữ liệu", bằng cách lấy một biểu thức SQL trên dòng lệnh và xuất ra các dòng chứa khớp cho biểu thức SQL.

Microsoft mô tả Logparser là một công cụ mạnh mẽ, linh hoạt, cung cấp quyền truy cập truy vấn phổ biến vào dữ liệu dựa trên văn bản như tệp nhật ký, tệp XML và tệp CSV, cũng như các nguồn dữ liệu chính trên hệ điều hành Windows như Nhật ký sự kiện, Sổ đăng ký, hệ thống tập tin và Active Directory. Các kết quả của truy vấn đầu vào có thể được định dạng tùy chỉnh trong đầu ra dựa trên văn bản hoặc chúng có thể được duy trì cho các mục tiêu đặc biệt hơn như SQL, SYSLOG hoặc biểu đồ.

Ví dụ sử dụng:

C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line > 1000 and line < 2000"
C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line like '%pattern%'"

Tính tương đối của kích thước

100 MB không quá lớn. 3 GB đang trở nên lớn. Tôi đã từng làm việc tại một cơ sở in & thư đã tạo ra khoảng 2% thư hạng nhất của Hoa Kỳ. Một trong những hệ thống mà tôi là người dẫn đầu về công nghệ chiếm khoảng 15 +% số thư. Chúng tôi đã có một số tệp lớn để gỡ lỗi ở đây và ở đó.

Và hơn thế nữa...

Hãy thêm nhiều công cụ và thông tin ở đây. Câu trả lời này là wiki cộng đồng vì một lý do! Tất cả chúng ta cần tư vấn thêm về việc xử lý một lượng lớn dữ liệu ...


8
+1, gần đây tôi có một số tệp xml thực sự lớn (+1 gigabyte) mà tôi cần xem. Tôi đang ở trên windows và cả vim, emacs, notepad ++ và một số trình soạn thảo khác hoàn toàn bị nghẹt tập tin đến mức hệ thống của tôi gần như không thể sử dụng được khi cố mở tệp. Sau một thời gian, tôi nhận ra rằng thật sự không cần thiết phải cố gắng mở tệp trong một -editor- khi tôi chỉ cần xem - xem nó. Sử dụng cygwin (và một số grep / less / sed-Magic thông minh) tôi dễ dàng tìm thấy phần tôi quan tâm và có thể đọc nó mà không gặp rắc rối nào.
wasatz

8
bạn không cần cygwin với giá rẻ hơn, bạn cũng có thể sử dụng nó dưới cửa sổ: gnuwin32.sourceforge.net/packages/less.htmlm
ChristophK

2
Trình soạn thảo XML này ở đây cũng có một thành phần trình xem tệp lớn và cũng cung cấp màu cú pháp cho các tệp lớn. Các tệp không được tải hoàn toàn vào bộ nhớ nên tài liệu nhiều GB không phải là vấn đề. Ngoài ra, công cụ này cũng có thể xác thực các tài liệu XML lớn đó ... Theo tôi, một trong những cách tiếp cận tốt nhất để làm việc với dữ liệu XML khổng lồ.
lichtfusion

9
OK để tôi chỉ sửa vấn đề của riêng tôi. lessvới từ bọc là chậm. less -Skhông có từ bọc là nhanh như chớp ngay cả trên các dòng lớn. Tôi hạnh phúc một lần nữa!
Andy Brown

6
Câu trả lời chính xác. Tôi muốn lưu ý rằng nếu bạn đã cài đặt Git cho Windows, có lẽ bạn cũng có Git bash, bao gồm less.
bóng bán
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.