ตัวแก้ไขข้อความเพื่อแก้ไขไฟล์ข้อความธรรมดาขนาดใหญ่ (4.3 GB)


86

มีโปรแกรมแก้ไขข้อความใดบ้างที่สามารถแก้ไขไฟล์ดังกล่าวได้?

ฉันได้ลองแล้ว:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

ปราศจากความสำเร็จ.


8
คุณต้องการแก้ไขหรือเพียงแค่ดู? หากหลังคุณสามารถใช้ "น้อยกว่า" จาก CLI
Mr Shunz

3
@MrShunz: ใช่ฉันต้องการแก้ไขไฟล์ @Bakhtiyor: คำตอบคือ "ใช่" :)
cupakob

2
ฉันขอแนะนำให้แก้ไขคำถามของคุณเพื่อพูดถึงความจริงที่ว่าคุณต้องการแก้ไขไฟล์ นั่นจะทำให้ผู้ใช้ไม่ต้องค้นหาความคิดเห็นเพื่อค้นหาคำถามของคุณและ / หรือหากคำถามของคุณคล้ายกับคำถามที่พวกเขามี
ผจญเพลิง

1
คุณบังเอิญพยายามเปิดไฟล์ฐาน zip zip 42 ตัว? ฉันมีปัญหานี้และพบว่าโปรแกรมที่เรียกว่า "เครื่องมือแก้ไข 010" ทำงานได้ดี

เกี่ยวข้องกับ Stack Overflow: ทำงานกับไฟล์ขนาดใหญ่ใน linux
Eliah Kagan

คำตอบ:


81

อีกวิธีหนึ่งsplitคือการใช้ แบ่งไฟล์ออกเป็น 8 ชิ้นและจัดการไฟล์ด้วยเครื่องมือแก้ไข หลังจากนั้นคุณรวมไฟล์อีกครั้ง

split -b 53750k <your-file>

cat xa* > <your-file>


SYNOPSIS
       split [OPTION]... [INPUT [PREFIX]]

-a, --suffix-length=N
              use suffixes of length N (default 2)

       -b, --bytes=SIZE
              put SIZE bytes per output file

       -C, --line-bytes=SIZE
              put at most SIZE bytes of lines per output file

       -d, --numeric-suffixes
              use numeric suffixes instead of alphabetic

       -l, --lines=NUMBER
              put NUMBER lines per output file

มันน่าจะเป็นทางออกที่ดีที่สุดในขณะนี้ ...
cupakob

9
โปรดทราบว่าผู้แก้ไขจำนวนมากจะเพิ่มอักขระบรรทัดใหม่ต่อท้ายไฟล์ที่แก้ไขของคุณและทำโดยไม่แจ้งให้คุณทราบ! สำหรับข้อมูลเพิ่มเติมดูวิธีหยุด Gedit, Gvim, Vim, Nano จากการเพิ่มอักขระขึ้นบรรทัดใหม่ของ End-of-File? askubuntu.com/q/20871/2670
Peter.O

เป็นวิธีที่ดี ... และจากนั้นคุณควรใช้เสียงเรียกเข้าที่มีชิ้นส่วนเดียว ... ฉันเกลียดเสียงเรียกเข้า: P แต่มันชนะการแก้ไขอื่น ๆ ทั้งหมดที่นี่
Postadelmaga

1
@ Peter.O: ลิงก์เปลี่ยนไปไหม ฉันมีปัญหาในการค้นหาข้อมูลเกี่ยวกับปัญหาตัวอักษรบรรทัดใหม่ที่ URL นั้น : / อัปเดต: พบคำถามที่อ้างอิงได้ที่นี่: askubuntu.com/q/13317/372950
rinogo

3
(ในระยะสั้นใช้nano --nonewlinesเพื่อหลีกเลี่ยงการเพิ่มบรรทัดใหม่โดยอัตโนมัติ)
rinogo

39

ลองjoe ฉันเพิ่งใช้มันเพื่อแก้ไขไฟล์ดัมพ์ SQL ~ 5G ใช้เวลาประมาณหนึ่งนาทีในการเปิดไฟล์และอีกไม่กี่นาทีในการบันทึกด้วยการใช้ swap น้อยมาก (ในระบบที่มี 4G RAM)


สิ่งนี้ทำงานได้ดีสำหรับฉันที่จะแก้ไขไฟล์ 1GB xml
digitaljoel

ทำงานได้ดีกับไฟล์ 2GB
Damir Olejar

ลองใช้กับไฟล์ดัมพ์ 14G SQL แต่ล้มเหลวด้วยข้อผิดพลาด IO (เครื่องมี RAM 3GB และ Swap 3GB)
tehwalrus

1
ว้าว! 'โจ' ผ่าน - ที่ผิดพลาดมากมาย!
1111161171159459134

ให้ไฟล์ 4.6GB กับ joe และไม่มีอะไรเกิดขึ้นในสองสามนาทีดังนั้นให้ Hex Fiend เลิกเปิดทันที แต่ดูเหมือนคุณจะไม่สามารถแก้ไขได้
balupton

17

คุณจะไม่พบพวกเขา หากคุณต้องการแทนที่บางบรรทัดในไฟล์นี้คุณสามารถดูด้วยlessหรือ grep และใช้sedเพื่อค้นหาและแทนที่บางบรรทัด

แบบนี้:

sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName

บน Wikipedia เป็นตัวอย่างที่มีประโยชน์: http://en.wikipedia.org/wiki/Sed


3
หรือโดยเฉพาะอย่างยิ่งกับ-iแฟล็ก (ในสถานที่) ดังนั้นมันจึงทำงานเป็นหลักเหมือนกับตัวแก้ไขข้อความที่จะแทนที่เนื้อหาไฟล์ต้นฉบับ
หรือผู้ทำแผนที่

อย่าใช้sed -i; นั่นคือสิ่งที่edมีไว้เพื่อ
fkraiem

14

ลองใช้ถ้าคุณต้องการ แต่ไฟล์ขนาดใหญ่เช่นนั้นจะไม่สามารถใช้งานได้หากคุณต้องการทำการแก้ไขแบบ "ปกติ" เช่นคุณไม่ต้องการบันทึกการแก้ไขบ่อยเกินไป จะใช้เวลานานเกินไป :)

หากเป็นการออกไปหนึ่งครั้งsplitและใช้joinงานได้ดีและมันก็ง่ายพอที่จะสับมันเป็นชิ้น ๆ ที่สามารถจัดการได้แล้วเข้าร่วมอีกครั้ง ... โปรดทราบว่าบรรณาธิการหลายคนจะเพิ่มอักขระบรรทัดใหม่ลงในตอนท้ายของการแก้ไขของคุณ ไฟล์และทำโดยไม่ต้องแจ้งให้คุณทราบ! สำหรับข้อมูลเพิ่มเติมดูวิธีหยุด Gedit, Gvim, Vim, Nano จากการเพิ่มอักขระขึ้นบรรทัดใหม่ของ End-of-File?

ลอง Gvim ถ้าคุณต้องการแก้ไขไฟล์ขนาดใหญ่จริง ๆ ... ฉันเพิ่งโหลดไฟล์ 3.9GB ลงไปและดูเหมือนว่าจะเป็นเรื่องปกติ ...

นี่คือลิงค์ที่น่าสนใจเกี่ยวกับเรื่องนี้ที่stackoverflow


ไม่ทำงานกับ gvim ....
cupakob

1
@upakob: ตอนนี้เพิ่งโหลดไฟล์ 4.5GB บนระบบของฉันได้สำเร็จโดยใช้ Gvim ... ใช้เวลาโหลด 6 นาที คุณรอนานพอไหม? (นี่คือสิ่งที่ฉันหมายถึงเกี่ยวกับการบันทึกไฟล์มันจะใช้เวลานาน) ... ลองใช้iotopเพื่อดูสถิติ I / O ในขณะที่กำลังโหลด .. การตรวจสอบระบบแสดงให้เห็นว่าฉันมี RAM 3.2 GB (ปริศนาตัวไหน ฉันอย่างที่ฉันมี 4 GB) ...
Peter.O

1
@upakob: ฉันได้ลอง 8GB แล้วและ Gvim โหลดสำเร็จแล้ว ... ดังนั้น Gvim สามารถ "technicllly" จัดการกับใหญ่ใหญ่และอาจเป็นแม้แต่ไฟล์ "ที่ใหญ่ที่สุด" แต่ถึงอย่างนั้นมันก็ค่อนข้าง "ทำไม่ได้" (เว้นแต่คุณจะเป็นเหมือนฉันที่พร้อมจะรอ 41 นาทีในการโหลด 8GB .. :) ... แต่ฉันไม่คิดว่าฉันจะรำคาญที่จะทำมันอีกครั้ง .....
Peter.O

คุณดูเหมือนจะเชื่อมโยงคำถามผิด ๆ
psusi

ดูเหมือนว่าคุณจะเปลี่ยนลิงค์แรกให้เหมือนกับลิงค์ที่สองแทนที่จะเป็น "วิธีหยุด gedit และอื่น ๆ จากการเพิ่มจุดสิ้นสุดของไฟล์บรรทัดใหม่"
psusi

11

ใช้ glogg - explorer log ที่รวดเร็วและชาญฉลาด: http://glogg.bonnefon.org/


4
ยินดีต้อนรับสู่ Askubuntu.com! ในขณะที่แพคเกจที่เสนออาจแก้ไขปัญหาได้โปรดทราบว่า glogg มีวัตถุประสงค์เพื่อค้นหาไฟล์ขนาดใหญ่ไม่ใช่การแก้ไขจริง
Jos

ลองมันก็จะป่องเสมอ
Kais

11

มีอีกวิธีที่ง่ายและรวดเร็วในการแทนที่เนื้อหาในไฟล์ที่มีขนาดใหญ่มาก (ซึ่งทำงานแทนการแก้ไขการทิ้ง mysql ขนาดใหญ่)

ก่อนอื่นคุณควรติดตั้ง comander เที่ยงคืน - ตัวจัดการไฟล์ที่ยอดเยี่ยมสำหรับระบบ linux

sudo apt-get install mc

หลังจากนั้นคุณสามารถเปิดไฟล์ที่มีขนาดใดก็ได้ใน "โหมดดูภาพ" (ด้วยปุ่มลัด F3) ให้เปลี่ยนเป็นมุมมอง HEX (ทางลัด F4) และเปิดใช้งานโหมดแก้ไข (ทางลัด F2)

ตัวอย่างเช่นฉันมีการถ่ายโอนข้อมูล mysql 3 GB ที่ฉันต้องการลบบรรทัด SQL บางส่วน ฉันเปิดโหมดดูค้นหาสตริงเปิดโหมด hex และแทนที่เนื้อหาก่อนบรรทัดที่ต้องการด้วยข้อคิดเห็นของ MYSQL (สตริง "-", รหัสหกมิติ 2D 2D 20)

ตัวอย่าง: mc hex view


2
My 5 cents - MC ไม่สามารถแก้ไขไฟล์ 110GB ได้ แต่เปิดในโหมดดู
Andron

@Andron คุณยังสามารถแทนที่เนื้อหาในโหมดดู
user10635

น่าสนใจ คุณอธิบายได้อย่างไร
Andron

1
@Andron ดีฉันได้อธิบายไปแล้วว่าในคำตอบของฉัน :) โหมดเปิดมุมมองกด F4 เพื่อหาเลขฐานสิบหกและแทนที่เนื้อหาใด ๆ ในไฟล์ใด ๆ ไม่ว่าจะมีขนาดเท่าใดก็ตาม
user10635

โอ้คุณพูดถูก เพียงแค่ทราบว่าในกรณีของฉันฉันต้องแทนที่สตริงยาวและนั่นคือเหตุผลที่มันไม่เป็นไรสำหรับฉัน แต่โดยทั่วไปแล้วนี่เป็นไปได้
Andron



4

neditแก้ไขข้อความที่ได้รับรอบเป็นเวลานานและค่อนข้างมีความสามารถ สามารถเปิดไฟล์ข้อความ 1.9Gb ในเวลาประมาณ 20 วินาที มันเป็นอินเทอร์เฟซกราฟิกที่เหมือนหน้าต่างพร้อมคุณสมบัติการแก้ไขข้อความมาตรฐานทั้งหมดที่คุณคาดหวังเช่นการเน้นไวยากรณ์การเยื้องการกำหนดหมายเลขบรรทัดและอื่น ๆ

หากคุณต้องการปรับขนาดหน้าต่างให้ทำก่อนเปิดไฟล์ขนาดใหญ่ Motif ของ X11 ค่อนข้างช้าในการปรับขนาด แต่มันก็เป็นคำขอภาษี

มันอยู่ในที่เก็บมาตรฐานทั้งหมดดังนั้นติดตั้งด้วย:

sudo apt-get install nedit

เป็น GPLv2 โอเพ่นซอร์ส

https://sourceforge.net/projects/nedit/

ฉันลุยไฟล์ข้อความขนาด 30-40Mb และneditจัดการได้อย่างง่ายดาย


3

hexeditคุณสามารถเปิดไฟล์โดยใช้ อย่างไรก็ตามคุณจะสามารถเปลี่ยนข้อความได้เท่านั้นไม่สามารถเพิ่มหรือลบข้อความได้


2

อ้างอิงจากบทความ Wikipedia นี้การเปรียบเทียบ VIM ในกลุ่มอื่น ๆ ฉันจะแนะนำ Geany แต่มี? ในฟิลด์สำหรับรองรับไฟล์ขนาดใหญ่ ...

แก้ไข: ฉันไปข้างหน้าและลองกับ geany และให้ขึ้นหลังจากรอ 10 นาทีกับ 3 แกน pegged และโดยทั่วไปหน่วยความจำของฉัน (เสมือนและทางกายภาพ) ในการใช้งานตลอดเวลา ... ไม่ได้ข้อสรุปเพราะมันอาจมีการจัดการเพื่อเปิดถ้าฉัน มีความอดทนเพิ่มขึ้น ฉันค้นหาและไม่พบการตั้งค่า / ค่ากำหนดสำหรับการจัดการไฟล์ขนาดใหญ่แตกต่างกันเช่นกัน

ฉันชอบคำตอบที่ดีที่สุดของ fred.bear


2

ใน Windows คุณมี TextPad, EditPad และ EmEditor

ใน Linux คุณมี
kinesics:
http://turtlewar.org/projects/editor/

และผู้แก้ไข hex หลายคนเช่น:
bless
http://home.gna.org/bless/
หรือ
wxhexeditor
http://wxhexeditor.sourceforge.net/home.php

ไฟล์ทั้งหมดช่วยให้คุณสามารถแก้ไขไฟล์ที่มีขนาดใหญ่มาก (แม้กระทั่งเทราไบต์) และคุณสามารถทำได้อย่างง่ายดายโดยไม่จำเป็นต้องแยกและรวมไฟล์อีกครั้งซึ่งมีแนวโน้มที่จะเกิดข้อผิดพลาดและยุ่งยาก


1

เราเข้าสู่สถานการณ์ที่ไฟล์บันทึกสะสมเป็น 6GB และต้องค้นหาตามวันที่หรือสตริง แก้ไขข้อความที่รู้จักกันดีไม่กี่สามารถรองรับไฟล์ขนาดใหญ่เช่นนี้

พบเอดิเตอร์ JOE ซึ่งสามารถโหลดไฟล์ของฉันขนาด 6GB ใน 2 นาทีและเปิดใช้งานเพื่อสำรวจไฟล์

เวอร์ชั่น Windows (sourceforge.net)

อูบุนตู (sourceforge.net)


0

ผมทำงานกับNetBeans : มันเป็นดีกว่าคราสในบริบทที่

ฉันรู้ว่ามันเหมาะสำหรับนักพัฒนา แต่คุณสามารถเปิดไฟล์ข้อความธรรมดาได้


0

Emacs จะทำงาน (ฉันได้แก้ไขไฟล์ 10 + GiB มาก่อน) แต่ประมาณว่าไม่เป็นมิตรกับผู้ใช้ใหม่ในฐานะ vim ดังนั้นอาจไม่ตรงกับความต้องการของคุณ กราฟการเรียนรู้ค่อนข้างสูงชัน

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