โปรแกรมแก้ไขข้อความเพื่อเปิดไฟล์ข้อความใหญ่ (ยักษ์ใหญ่ใหญ่) [ปิด]


1023

ฉันหมายถึง 100+ MB ใหญ่; ไฟล์ข้อความดังกล่าวสามารถผลักซองจดหมายของบรรณาธิการ

ฉันต้องการตรวจสอบไฟล์ XML ขนาดใหญ่ แต่ไม่สามารถแก้ไขได้หากตัวแก้ไขข้อผิดพลาด

ข้อเสนอแนะใด ๆ


166
ที่จริงแล้วไฟล์ข้อความที่มีขนาด 100+ MB หรือแม้แต่ 1+ GB นั้นไม่ใช่เรื่องแปลกอย่างที่คุณคิด (เช่นไฟล์บันทึกจากเซิร์ฟเวอร์ไม่ว่าง)
— Anders Sandvig

15
ส่อเสียด: และไม่ใช่ข้อความ ฉันคิดว่าความต้องการในการอ่านไฟล์ข้อความและการอ่านไฟล์ไบนารีแตกต่างกันบ้าง คุณอาจผ่านมันผ่าน base64 หรือ uuencode
— Joey

2
นี่ควรเป็นคำถามที่คล้ายกันอย่างน้อยที่สุดหรือแม้แต่การเชื่อมโยงเนื่องจากถูกถามเมื่อ 18 เดือนก่อน ... stackoverflow.com/questions/102829/
— ONDEV

1
ฉันยังต้องการคำตอบสำหรับคำถามนี้เพื่ออ่านไฟล์บันทึกขนาดใหญ่ที่ฉันสร้างขึ้น!
— HorseloverFat

1
@BlairHippo ฉันรู้สึกแบบเดียวกันฉันเกือบกังวลเมื่อถามคำถามเพราะมีโอกาสสูงที่บางคนจะพูดว่า "ปิดสิ่งนี้ควรไปใน Anything Exchange แทน"
— Rodolfo

คำตอบ:


1386

ผู้ดูแบบอ่านอย่างเดียวฟรี:

  • Large Text File Viewer (Windows) - ชุดรูปแบบที่ปรับแต่งได้อย่างเต็มที่ (สีแบบอักษรการตัดคำขนาดแท็บ) รองรับการแยกมุมมองแนวนอนและแนวตั้ง นอกจากนี้ยังสนับสนุนการติดตามไฟล์และการค้นหา regex รวดเร็วง่ายและมีขนาดที่เล็กมาก
  • klogg (Windows, macOS, Linux) - ทางแยกของ gloggซึ่งเป็นคุณสมบัติหลักคือการค้นหานิพจน์ปกติ นอกจากนี้ยังสามารถดูไฟล์ช่วยให้ผู้ใช้สามารถทำเครื่องหมายบรรทัดและมีการเพิ่มประสิทธิภาพอย่างจริงจังในตัว แต่จากมุมมอง UI มันน่าเกลียดและ clunky
  • LogExpert (Windows) - "การเปลี่ยน GUI สำหรับtail" มันเป็นเครื่องมือวิเคราะห์ไฟล์บันทึกไม่ใช่โปรแกรมดูไฟล์ขนาดใหญ่และในการทดสอบหนึ่งครั้งก็ใช้เวลา 10 วินาทีและ RAM 700 MB เพื่อโหลดไฟล์ 250 MB แต่คุณสมบัตินักฆ่าของมันคือคอลัมน์ (แยกวิเคราะห์ไฟล์ที่อยู่ใน CSV, JSONL ฯลฯ และแสดงในรูปแบบสเปรดชีต) และเครื่องมือเน้นข้อความ (แสดงบรรทัดที่มีคำบางสีในบางสี) นอกจากนี้ยังรองรับการติดตามไฟล์, แท็บ, หลายไฟล์, ที่คั่นหนังสือ, การค้นหา, ปลั๊กอินและเครื่องมือภายนอก
  • Lister (Windows) - เล็กและเรียบง่ายมาก มันสามารถเรียกใช้งานได้เพียง 500 KB แต่ยังรองรับการค้นหา (ด้วย regexes) การพิมพ์โหมดตัวแก้ไขฐานสิบหกและการตั้งค่า
  • loxx (Windows) - รองรับไฟล์ดังต่อไปนี้การไฮไลต์หมายเลขบรรทัดไฟล์ขนาดใหญ่ regex หลายไฟล์และมุมมองและอื่น ๆ อีกมากมาย เวอร์ชันฟรีไม่สามารถ: ประมวลผล regex, กรองไฟล์, ซิงโครไนซ์เวลาประทับและบันทึกไฟล์ที่เปลี่ยนแปลง

บรรณาธิการฟรี:

  • โปรแกรมแก้ไขหรือ IDE ปกติของคุณ บรรณาธิการสมัยใหม่สามารถจัดการไฟล์ขนาดใหญ่ได้อย่างน่าประหลาดใจ โดยเฉพาะอย่างยิ่งVim (Windows, macOS, Linux), Emacs (Windows, macOS, Linux), Notepad ++ (Windows), Sublime Text (Windows, macOS, Linux) และVS Code (Windows, macOS, Linux) รองรับขนาดใหญ่ (~ ไฟล์ 4 GB) สมมติว่าคุณมี RAM
  • Large File Editor (Windows) - เปิดและแก้ไขไฟล์ TB +, รองรับ Unicode, ใช้หน่วยความจำน้อย, มีคุณสมบัติเฉพาะ XML และมีโหมดไบนารี
  • GigaEdit (Windows) - รองรับการค้นหาสถิติของตัวละครและการปรับแต่งแบบอักษร แต่มันเป็นบั๊กซี - ด้วยไฟล์ขนาดใหญ่จะอนุญาตเฉพาะการเขียนทับตัวอักษรเท่านั้นไม่สามารถแทรกได้ ไม่เคารพ LF ในฐานะเทอร์มิเนเตอร์บรรทัดเพียง CRLF เท่านั้น และมันก็ช้า

โปรแกรมในตัว (ไม่จำเป็นต้องติดตั้ง)

  • less (macOS, Linux) - เครื่องมือเพจเจอร์บรรทัดคำสั่ง Unix แบบดั้งเดิม ให้คุณดูไฟล์ข้อความขนาดใดก็ได้ สามารถติดตั้งบน Windows ได้เช่นกัน
  • Notepad (Windows) - ดีกับไฟล์ขนาดใหญ่โดยเฉพาะเมื่อปิด word wrap
  • เพิ่มเติม (Windows) - นี่หมายถึงของ WindowsMORE, moreUnix โปรแกรมคอนโซลที่ให้คุณดูไฟล์ทีละหน้าจอ

ผู้ดูเว็บ:

  • readfileonline.com - โปรแกรมดูไฟล์ขนาดใหญ่อีก HTML5 รองรับการค้นหา

บรรณาธิการที่ชำระเงิน:

  • 010 Editor (Windows, macOS, Linux) - เปิดไฟล์ขนาดยักษ์ (ใหญ่ถึง 50 GB)
  • SlickEdit (Windows, macOS, Linux) - เปิดไฟล์ขนาดใหญ่
  • UltraEdit (Windows, macOS, Linux) - เปิดไฟล์ที่มีขนาดเกิน 6 GB แต่ต้องเปลี่ยนการกำหนดค่าเพื่อให้สามารถใช้งานได้จริง: เมนู»ขั้นสูง»การกำหนดค่า»การจัดการไฟล์»ไฟล์ชั่วคราว»เปิดไฟล์ที่ไม่มีไฟล์ temp ...
  • EmEditor (Windows) - รองรับไฟล์ข้อความที่มีขนาดใหญ่มาก (อย่างเป็นทางการมากถึง 248 GB แต่มากถึง 900 GB ตามรายงานฉบับเดียว)

60
VIM หรือ Emacs ... เลือกพิษของคุณทั้งคู่จะจัดการกับไฟล์ที่คุณโยนไป โดยส่วนตัวแล้วฉันชอบ Emacs มาก แต่ทั้งคู่จะเอาชนะ notepad โดยไม่ต้องสะอึก
— Mike Stone

25
Emacs มีขนาดบัฟเฟอร์สูงสุดขึ้นอยู่กับสถาปัตยกรรมพื้นฐาน (32 หรือ 64 บิต) ฉันคิดว่าในระบบ 32 บิตคุณได้รับข้อผิดพลาด "เกินขนาดบัฟเฟอร์สูงสุด" ในไฟล์ที่ใหญ่กว่า 128 MB
— Rafał Dowgird

82
ฉันก็พยายาม Notepad ++ มีล็อกไฟล์ 561MB และมันบอกว่ามันเป็นขนาดใหญ่เกินไป
— barfoon

9
@Rafal ที่น่าสนใจ! ดูเหมือนว่าบน 64 บิตเป็น ~ 1024 เพตาไบต์ เหตุผลที่จะทำอย่างไรกับความจริงที่ว่า emacs มีการติดตามตำแหน่งบัฟเฟอร์ (เช่นจุด)
— baudtack

79
แต่ต้องระวังเสียงเรียกเข้าจะทำงานได้ตราบใดที่ไฟล์ดังกล่าวมีตัวแบ่งบรรทัดเพียงพอ ฉันเคยต้องแก้ไขแคลิฟอร์เนีย ไฟล์ 150 MB โดยไม่มีตัวแบ่งบรรทัดใด ๆ และต้องหันไป gedit เพราะเป็นกลุ่มจัดการไม่ได้
— Benno

192

เคล็ดลับและลูกเล่น

น้อยกว่า

เหตุใดคุณจึงใช้โปรแกรมแก้ไขเพื่อดูไฟล์ (ขนาดใหญ่)

ภายใต้ระวัง * หรือCygwinเพียงใช้น้อย (มีคำพูดที่โด่งดัง - "less is more, more or less" - เพราะ "less" แทนที่คำสั่ง Unix ก่อนหน้านี้ "more" ด้วยการเพิ่มที่คุณสามารถเลื่อนกลับขึ้นไปได้) การค้นหาและการนำทางภายใต้น้อยกว่านั้นคล้ายกับ เป็นกลุ่ม แต่ไม่มีไฟล์สลับและ RAM ใช้งานน้อย

มีพอร์ต Win32 ของ GNU น้อยกว่า ดูหัวข้อ "น้อยลง" ของคำตอบด้านบน

Perl

Perl เป็นสิ่งที่ดีสำหรับสคริปต์ที่รวดเร็วและตัวดำเนินการ..(range flip-flop) ทำให้มีกลไกการเลือกที่ดีเพื่อ จำกัด crud ที่คุณต้องลุย

ตัวอย่างเช่น:

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

สิ่งนี้จะแยกทุกอย่างจากบรรทัด 1 ล้านถึง 2 ล้านบรรทัดและช่วยให้คุณสามารถกรองเอาต์พุตด้วยตนเองได้น้อย

ตัวอย่างอื่น:

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

สิ่งนี้จะเริ่มพิมพ์เมื่อ "นิพจน์ปกติหนึ่ง" พบบางสิ่งและหยุดเมื่อ "นิพจน์ปกติสอง" ค้นหาจุดสิ้นสุดของบล็อกที่น่าสนใจ อาจพบว่ามีหลายบล็อก ร่อนผลลัพธ์ ...

LogParser

นี่เป็นอีกเครื่องมือที่มีประโยชน์ที่คุณสามารถใช้ได้ หากต้องการอ้างอิงบทความ Wikipedia :

logparserเป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่ยืดหยุ่นซึ่งเริ่มแรกเขียนโดย Gabriele Giuseppini พนักงาน Microsoft เพื่อทำการทดสอบ IIS โดยอัตโนมัติ มันมีไว้สำหรับใช้กับระบบปฏิบัติการ Windows และรวมอยู่ใน IIS Kit Resource Kit Tools พฤติกรรมเริ่มต้นของ logparser ทำงานเหมือน "data processing ไปป์ไลน์" โดยรับนิพจน์ SQL บนบรรทัดคำสั่งและส่งออกบรรทัดที่มีการจับคู่สำหรับนิพจน์ SQL

Microsoft อธิบาย Logparser เป็นเครื่องมืออเนกประสงค์ที่ทรงพลังและให้การเข้าถึงข้อมูลที่เป็นข้อความอย่างสากลเช่นไฟล์บันทึกไฟล์ XML และไฟล์ CSV รวมถึงแหล่งข้อมูลที่สำคัญในระบบปฏิบัติการ Windows เช่น Event Log, Registry ระบบไฟล์และ Active Directory ผลลัพธ์ของเคียวรีอินพุตสามารถจัดรูปแบบแบบกำหนดเองในเอาต์พุตแบบข้อความหรือสามารถคงอยู่กับเป้าหมายพิเศษเพิ่มเติมเช่น SQL, SYSLOG หรือแผนภูมิ

ตัวอย่างการใช้งาน:

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%'"

ความสัมพันธ์ของขนาด

100 MB ไม่ใหญ่เกินไป 3 GB เริ่มใหญ่ขึ้น ฉันเคยทำงานที่ศูนย์การพิมพ์และจดหมายซึ่งสร้างจดหมายชั้นหนึ่งประมาณ 2% ของสหรัฐอเมริกา หนึ่งในระบบที่ฉันเป็นผู้นำทางเทคโนโลยีคิดเป็นประมาณ 15 +% ของชิ้นส่วนของจดหมาย เรามีไฟล์ขนาดใหญ่ที่จะแก้จุดบกพร่องที่นี่และที่นั่น

และอื่น ๆ...

อย่าลังเลที่จะเพิ่มเครื่องมือและข้อมูลเพิ่มเติมที่นี่ คำตอบนี้คือวิกิชุมชนด้วยเหตุผล! เราทุกคนต้องการคำแนะนำเพิ่มเติมเกี่ยวกับการจัดการกับข้อมูลจำนวนมาก ...


8
+1 เมื่อเร็ว ๆ นี้ฉันมีไฟล์ xml ขนาดใหญ่มาก (+1 กิกะไบต์) ที่ฉันต้องดู ฉันอยู่บน windows และทั้งกลุ่ม, emacs, notepad ++ และบรรณาธิการอื่น ๆ หลายคนสำลักไฟล์อย่างสมบูรณ์จนถึงจุดที่ระบบของฉันเกือบจะไม่สามารถใช้งานได้เมื่อพยายามเปิดไฟล์ หลังจากที่ในขณะที่ฉันตระหนักถึงความจำเป็นที่จะต้องพยายามเปิดไฟล์ใน -ditor- เมื่อฉันเพียงแค่ต้องดู - มัน การใช้ cygwin (และ grep / less / sed-magic ฉลาด) ฉันพบส่วนที่ฉันสนใจและอ่านได้ง่ายโดยไม่ต้องยุ่งยาก
— wasatz

8
คุณไม่จำเป็นต้องใช้ cygwin น้อยกว่าคุณยังสามารถใช้งานได้ภายใต้ windows: gnuwin32.sourceforge.net/packages/less.htm
— ChristophK

2
เครื่องมือแก้ไข XMLนี้ที่นี่ยังมีส่วนประกอบเครื่องมือดูไฟล์ขนาดใหญ่และให้การกำหนดสีสำหรับไฟล์ขนาดใหญ่เช่นกัน ไฟล์ไม่ได้โหลดอย่างสมบูรณ์ในหน่วยความจำดังนั้นเอกสารหลาย GB ไม่ควรมีปัญหา นอกจากนี้เครื่องมือนี้ยังสามารถตรวจสอบเอกสาร XML ขนาดใหญ่เหล่านั้นได้ ... ในความคิดของฉันหนึ่งในวิธีที่ดีที่สุดในการทำงานกับข้อมูล XML ขนาดใหญ่
— lichtfusion

9
ตกลงดังนั้นฉันเพิ่งแก้ไขปัญหาของฉันเอง lessด้วยการตัดคำช้า less -Sไม่มีการพันคำเร็วเกินไปแม้เป็นเส้นใหญ่ ฉันมีความสุขอีกครั้ง!
— Andy Brown

6
คำตอบที่ดี ผมอยากจะทราบว่าถ้าคุณมี Git สำหรับ Windows ที่ติดตั้งคุณอาจมี Git lessทุบตีเช่นกันซึ่งรวมถึง
— transistor1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.