Editor teks untuk mengedit file teks biasa (4,3 GB) besar

87

Apakah ada editor teks, yang dapat mengedit file seperti itu?

Saya sudah mencoba:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

tanpa keberhasilan.

cupakob
sumber
8
Apakah Anda perlu mengeditnya atau hanya melihat? Jika yang terakhir, Anda cukup menggunakan "less" dari CLI.
Tuan Shunz
3
@ MrShunz: ya, saya ingin mengedit file. @ Bhakhtiyor: jawabannya adalah "YA" :)
cupakob
2
Saya sarankan untuk mengedit pertanyaan Anda untuk menyebutkan fakta bahwa Anda ingin mengedit file. Itu akan membuatnya jadi orang tidak perlu mencari melalui komentar untuk mencari tahu pertanyaan Anda dan / atau jika pertanyaan Anda cukup mirip dengan yang mereka miliki.
Firefeather
1
Apakah Anda mencoba membuka file base 42 zip bomb? Saya punya masalah ini dan saya menemukan bahwa sebuah program bernama "010 editor" bekerja dengan baik
Terkait dengan Stack Overflow: Bekerja dengan file besar di linux
Eliah Kagan

Jawaban:

81

Metode lain adalah menggunakan split. Membagi file menjadi 8 bagian dan memanipulasi file dengan editor. Setelah itu, Anda memasang kembali file-file itu lagi.

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
schneehase
sumber
tampaknya menjadi solusi terbaik saat ini ...
cupakob
9
Perhatikan bahwa banyak editor akan menambahkan karakter baris baru ke akhir file yang Anda edit, dan lakukan tanpa memberi tahu Anda! Untuk info lebih lanjut, lihat Bagaimana cara menghentikan Gedit, Gvim, Vim, Nano dari menambahkan char baris baru File Akhir? askubuntu.com/q/20871/2670
Peter.O
cara yang bagus ... dan kemudian Anda harus menggunakan vim dengan bagian-bagian tunggal ... Saya benci vim: P tetapi ia memenangkan semua editor lain di sini
Postadelmaga
1
@ Peter.O: Apakah tautannya berubah? Saya kesulitan menemukan info tentang masalah karakter baris baru di URL itu. : / Pembaruan: Temukan
rinogo
3
(Singkatnya, gunakan nano --nonewlinesuntuk menghindari penambahan baris baru secara otomatis)
rinogo
39

Coba joe . Saya hanya menggunakannya untuk mengedit file dump ~ 5G SQL. Butuh waktu sekitar satu menit untuk membuka file dan beberapa menit untuk menyimpannya, dengan penggunaan swap yang sangat sedikit (pada sistem dengan RAM 4G).

sierrasdetandil
sumber
Ini bekerja dengan baik bagi saya untuk mengedit file xml 1GB.
digitaljoel
Bekerja dengan baik dengan file 2GB
Damir Olejar
Mencoba pada file dump SQL 14G, tetapi gagal dengan kesalahan IO. (mesin memiliki 3GB RAM dan 3GB Swap).
tehwalrus
1
Wow! 'joe' lewat - tempat banyak kecelakaan!
1111161171159459134
memberikan joe file 4.6gb, dan tidak ada yang terjadi selama beberapa menit, jadi menyerah Hex Fiend membukanya seketika, tetapi sepertinya Anda tidak dapat mengeditnya
balupton
17

kamu tidak akan menemukan mereka. Jika Anda ingin mengganti beberapa baris dalam file ini, Anda dapat melihat dengan lessatau grep dan gunakan seduntuk mencari dan mengganti beberapa baris.

seperti ini:

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

di Wikipedia adalah beberapa contoh berguna: http://en.wikipedia.org/wiki/Sed

schneehase
sumber
3
Atau terutama dengan -iflag (di tempat), sehingga pada dasarnya berperilaku seperti editor teks yang akan menggantikan konten file asli.
ATAU Mapper
Jangan gunakan sed -i; itu untuk apa ed.
fkraiem
14

Cobalah, jika mau, tetapi file besar seperti itu menjadi tidak praktis jika Anda ingin mengedit "normal"; mis. Anda tidak ingin terlalu sering menyimpan hasil edit Anda; itu akan terlalu lama :)

Jika ini untuk satu kali, splitdan joinakan bekerja dengan cukup baik, dan cukup sederhana untuk memotongnya menjadi potongan yang dapat diatur, dan kemudian bergabung kembali dengan potongan ... Perhatikan bahwa banyak editor akan menambahkan karakter baris baru ke akhir editan Anda file, dan lakukan tanpa memberi tahu Anda! Untuk info lebih lanjut, lihat Bagaimana cara menghentikan Gedit, Gvim, Vim, Nano dari menambahkan char baris baru File Akhir?

Coba Gvim jika Anda benar-benar ingin mengedit file sebesar itu .... Saya baru saja memuat file 3,9GB ke dalamnya, dan semua tampak normal ...

Berikut ini tautan menarik tentang masalah ini, di stackoverflow

Peter.O
sumber
tidak bekerja dengan gvim ....
cupakob
1
@upakob: Baru saja berhasil memuat file 4,5GB di sistem saya, menggunakan Gvim ... Butuh 6 menit untuk memuat. Apakah Anda menunggu cukup lama? (Ini yang saya maksud tentang menyimpan file. Ini akan memakan waktu lama) ... Coba jalankan iotopuntuk menonton statistik I / O-nya saat memuat .. Monitor Sistem menunjukkan saya punya 3,2 GB RAM (Yang puzzle saya, karena saya memiliki 4 GB) ...
Peter.O
1
@upakob: Saya sudah mencoba 8GB kali ini, dan Gvim telah berhasil memuatnya ... Jadi Gvim dapat "secara teknis" menangani file besar, Lebih Besar, dan mungkin bahkan "TERBESAR", tetapi meskipun demikian, ini agak "tidak praktis" (kecuali jika Anda seperti saya, siap untuk menunggu 41 menit untuk memuat 8GB .. :) ... tapi saya tidak berpikir saya akan repot melakukannya lagi .....
Peter.O
Anda sepertinya mengaitkan pertanyaan yang salah.
psusi
Anda tampaknya telah mengubah tautan pertama menjadi sama dengan yang kedua, alih-alih menjadi "cara menghentikan gedit, dll agar tidak menambahkan akhir baris file".
psusi
11

Gunakan glogg - explorer log cerdas yang cepat: http://glogg.bonnefon.org/

alex
sumber
4
Selamat datang di Askubuntu.com! Jika paket yang diusulkan dapat menyelesaikan masalah, harap perhatikan bahwa glogg ditujukan untuk mencari file besar, bukan untuk mengeditnya.
Jos
mencobanya, selalu membengkak.
Kais
11

Ada cara lain yang sangat sederhana dan cepat untuk mengganti konten dalam file yang sangat besar (yang berfungsi alih-alih mengedit dump mysql besar)

Pertama-tama Anda harus menginstal midnight comander - manajer file yang hebat untuk sistem linux

sudo apt-get install mc

Setelah itu Anda dapat membuka file dengan ukuran apa pun dalam "mode tampilan" (dengan pintasan F3), beralih ke tampilan HEX (pintasan F4) dan aktifkan mode edit (pintasan F2).

Sebagai contoh, saya punya dump mysql 3 GB, di mana saya ingin menghapus beberapa baris SQL. Saya membuka mode tampilan, menemukan string, membuka mode hex dan mengganti konten sebelum baris yang diperlukan dengan komentar MYSQL (string "-", kode hex 2D 2D 20).

Contoh: mc hex view

pengguna10635
sumber
2
5 sen saya - MC gagal mengedit file 110GB, tetapi dibuka dalam mode tampilan.
Andron
@Andron Anda masih dapat mengganti konten dalam mode tampilan
user10635
menarik. Bisakah Anda jelaskan caranya?
Andron
1
@Andron, saya sudah menggambarkan hal itu dalam jawaban saya. :) Buka mode tampilan, tekan F4 untuk hex dan ganti konten apa pun di file apa pun ukurannya.
user10635
oh kamu benar Hanya sebuah catatan bahwa dalam kasus saya, saya perlu mengganti string panjang (s) dan itu sebabnya tidak ok untuk saya. Tapi ya, secara umum, ini mungkin.
Andron
4

The nediteditor teks telah sekitar waktu yang lama dan cukup mampu. Itu dapat membuka file teks 1.9Gb dalam waktu sekitar 20 detik. Ini adalah antarmuka grafis seperti windows dengan semua fitur pengeditan teks standar yang Anda harapkan seperti penyorotan sintaks, indentasi, penomoran baris, dan sebagainya.

Jika Anda ingin mengubah ukuran jendela, lakukan itu sebelum membuka file besar. Motif X11 agak lambat pada ukurannya, tetapi juga permintaan yang melelahkan.

Ada dalam semua repositori standar, jadi instal dengan:

sudo apt-get install nedit

Ini adalah open source GPLv2.

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

Saya mengarungi 30-40Mb file teks dan neditmenanganinya dengan mudah.

Marc Compere
sumber
3

Anda dapat membuka file menggunakan hexedit. Namun Anda hanya dapat mengubah teks, bukan menambah atau menghapusnya.

ostrokach
sumber
2

Menurut artikel Wikipedia ini, perbandingan editor teks VIM antara lain. Saya akan menyarankan Geany tetapi ada? di bidang untuk dukungan file besar ...

EDIT: Saya pergi ke depan dan mencoba dengan geany dan menyerah setelah menunggu 10 menit dengan 3 core dipatok dan pada dasarnya semua memori saya (virtual dan fisik) digunakan sepanjang waktu ... Tidak konklusif karena mungkin berhasil membukanya jika saya lebih sabar. Saya mencari dan tidak menemukan pengaturan / preferensi untuk menangani file besar yang berbeda juga.

Saya suka jawaban fred.bear yang terbaik.

kikuk bodoh
sumber
2

Di Windows Anda memiliki TextPad, EditPad dan EmEditor.

Di Linux Anda memiliki
kinesik:
http://turtlewar.org/projects/editor/

dan banyak editor hex seperti:
bless
http://home.gna.org/bless/
atau
wxhexeditor
http://wxhexeditor.sourceforge.net/home.php

Semuanya memungkinkan Anda untuk mengedit file yang sangat besar (bahkan terabyte) dan Anda dapat melakukannya dengan mudah, tanpa perlu membagi dan menggabungkan kembali file tersebut, yang rentan terhadap kesalahan dan tidak praktis.

skan
sumber
1

Kami masuk ke situasi di mana file log terakumulasi hingga 6GB dan perlu mencari berdasarkan tanggal atau string. Beberapa editor teks terkenal dapat mendukung file sebesar itu.

Menemukan editor JOE yang dapat memuat file saya 6GB dalam 2 menit dan diaktifkan untuk menjelajahi file.

Versi Windows (sourceforge.net)

Ubuntu (sourceforge.net)

Praaveen
sumber
0

Saya bekerja dengan NetBeans : lebih baik daripada Eclipse dalam konteks itu.

Saya tahu itu untuk pengembang, tetapi Anda dapat membuka file teks biasa dengan itu.

Abdennour TOUMI
sumber
0

Emacs akan melakukan pekerjaannya (saya telah mengedit 10 + file GiB sebelumnya), tetapi kira-kira sama tidak ramahnya dengan pengguna baru seperti vim, jadi mungkin tidak memenuhi kebutuhan Anda. Kurva pembelajaran cukup curam.

Darael
sumber