Edytor tekstu do edycji dużego (4,3 GB) zwykłego pliku tekstowego

86

Czy istnieje edytor tekstowy, który może edytować taki plik?

Próbowałem:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

bezskutecznie.

cupakob
źródło
8
Potrzebujesz go edytować lub po prostu wyświetlić? Jeśli to drugie, możesz po prostu użyć „mniej” z CLI.
Shunz
3
@MrShunz: tak, chcę edytować plik. @Bakhtiyor: odpowiedź brzmi „TAK” :)
cupakob
2
Zalecam edycję pytania, aby wspomnieć o tym, że chcesz edytować plik. To sprawiłoby, że ludzie nie musieliby przeszukiwać komentarzy, aby znaleźć twoje pytanie i / lub jeśli twoje pytanie jest wystarczająco podobne do tego, które ma.
Firefeather
1
Czy przypadkiem próbujesz otworzyć plik bazy bomb 42 zip? Miałem ten problem i stwierdziłem, że program o nazwie „Edytor 010” działał dobrze
Powiązane z przepełnieniem stosu: Praca z dużymi plikami w
systemie

Odpowiedzi:

81

Inną metodą jest użycie split. Podziel plik na 8 części i manipuluj plikami za pomocą edytora. Następnie ponownie złóż pliki.

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
źródło
wydaje się to obecnie najlepszym rozwiązaniem ...
cupakob
9
Pamiętaj, że wielu redaktorów doda znak nowego wiersza na końcu edytowanego pliku i zrobi to bez informowania Cię! Aby uzyskać więcej informacji, zobacz Jak zatrzymać Gedit, Gvim, Vim, Nano przed dodawaniem znaku nowej linii End-of-File? askubuntu.com/q/20871/2670
Peter.O
fajny sposób ... a następnie powinieneś używać vim z pojedynczymi częściami ... Nienawidzę vim: P, ale wygrał tutaj wszystkie inne edytory
Postadelmaga,
1
@ Peter.O: Czy link się zmienił? Trudno mi znaleźć informacje na temat znaku nowej linii pod tym adresem URL. : / Aktualizacja: Znaleziono odnośnik do pytania tutaj: askubuntu.com/q/13317/372950
rinogo
3
(W skrócie, użyj, nano --nonewlinesaby uniknąć automatycznego dodawania nowych linii)
rinogo,
39

Spróbuj Joe . Właśnie użyłem go do edycji pliku zrzutu SQL ~ 5G. Otworzenie pliku zajęło około minuty i kilka minut, aby go zapisać, przy bardzo niewielkim użyciu wymiany (w systemie z 4G RAM).

sierrasdetandil
źródło
Pomogło mi to w edycji pliku xml 1GB.
digitaljoel
Działa dobrze z plikami 2 GB
Damir Olejar
Próbowałem na pliku zrzutu 14G SQL, ale nie powiodło się z błędem We / Wy. (urządzenie ma 3 GB pamięci RAM i 3 GB wymiany).
tehwalrus
1
Łał! „Joe” mija - tam, gdzie wielu się rozbija!
1111161171159459134
Joe dał plik 4.6gb, i nic się nie działo przez kilka minut, więc zrezygnował Hex Fiend otwiera go natychmiast, ale nie wydaje się, można edytować w nim
balupton
17

nie znajdziesz ich. Jeśli chcesz zamienić niektóre linie w tym pliku, możesz spojrzeć na lesslub grep i użyć seddo wyszukiwania i zastąpienia niektórych linii.

lubię to:

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

na Wikipedii znajduje się kilka przydatnych przykładów: http://en.wikipedia.org/wiki/Sed

schneehase
źródło
3
Lub szczególnie z -iflagą (na miejscu), więc zachowuje się zasadniczo jak edytor tekstu, który zastąpi oryginalną zawartość pliku.
LUB Mapper
Nie używaj sed -i; po to edjest.
fkraiem
14

Spróbuj, jeśli chcesz, ale tak duże pliki stają się niepraktyczne, jeśli chcesz wykonać „normalną” edycję; np. nie chcesz zbyt często zapisywać swoich zmian; potrwa to zbyt długo :)

Jeśli jest to jednorazowy spliti joindziałałby całkiem dobrze, a wystarczy go pokroić na porcje, a następnie ponownie dołączyć do kawałków ... Zwróć uwagę, że wielu redaktorów doda znak nowej linii na końcu edytowanego plik i zrób to bez informowania Cię! Aby uzyskać więcej informacji, zobacz Jak zatrzymać Gedit, Gvim, Vim, Nano przed dodawaniem znaku nowej linii End-of-File?

Wypróbuj Gvima, jeśli naprawdę chcesz edytować tak duży plik .... Właśnie załadowałem do niego plik 3,9 GB i wszystko wydaje się normalne ...

Oto interesujący link w tej sprawie, na stackoverflow

Peter.O
źródło
nie działa z gvim ....
cupakob
1
@upakob: Właśnie teraz pomyślnie załadowałem plik 4.5 GB do mojego systemu, używając Gvim ... Załadowanie zajęło 6 minut. Czy czekałeś wystarczająco długo? (To właśnie mam na myśli zapisanie pliku. Zajmie to dużo czasu) ... Spróbuj uruchomić, iotopaby obserwować statystyki we / wy podczas ładowania. Monitor systemu pokazuje, że mam 3,2 GB pamięci RAM (Które łamigłówki ja, ponieważ mam 4 GB) ...
Peter.O
1
@upakob: Tym razem próbowałem 8 GB i Gvim z powodzeniem go załadował ... Więc Gvim może „technicznie” obsługiwać duże, większe, a może nawet „NAJWIĘKSZE” pliki, ale mimo to jest to nieco „niepraktyczne” (chyba że jesteś taki jak ja, gotowy czekać 41 minut, aby załadować 8 GB .. :) ... ale nie sądzę, żebym zawracał sobie tym
głowę
Wygląda na to, że połączyłeś niewłaściwe pytanie.
psusi
Wygląda na to, że zmieniłeś pierwszy link tak, aby był taki sam jak drugi, zamiast „jak zatrzymać gedit itp. Przed dodaniem końca nowego wiersza pliku”.
psusi
11

Użyj glogg - szybkiego, inteligentnego eksploratora logów: http://glogg.bonnefon.org/

alex
źródło
4
Witamy w Askubuntu.com! Podczas gdy proponowany pakiet może rozwiązać problem, należy pamiętać, że glogg ma na celu wyszukiwanie dużych plików, a nie ich edycję.
Jos
próbowałem, robi się zawsze wzdęty.
Kais,
11

Istnieje jeszcze jeden bardzo prosty i szybki sposób zastępowania treści w bardzo dużych plikach (który działa zamiast edycji dużych zrzutów MySQL)

Przede wszystkim powinieneś zainstalować program Midnight Comander - świetny menedżer plików dla systemów Linux

sudo apt-get install mc

Następnie możesz otworzyć dowolny plik o dowolnym rozmiarze w „trybie widoku” (ze skrótem F3), przejść do widoku HEX (skrót F4) i aktywować tryb edycji (skrót F2).

Na przykład miałem zrzut pamięci 3 GB mysql, w którym chcę usunąć wiersz SQL. Otwieram tryb widoku, znajduję ciąg, otwieram tryb szesnastkowy i zastępuję treść przed potrzebną linią komentarzem MYSQL (ciąg „-”, kody szesnastkowe 2D 2D 20).

Przykład: MC widok szesnastkowy

użytkownik10635
źródło
2
Moje 5 centów - MC nie mógł edytować pliku 110 GB, ale otworzył się w trybie przeglądania.
Andron
@Andron nadal możesz zastąpić treść w trybie przeglądania
10635
ciekawy. Czy możesz opisać jak?
Andron
1
@ No dobrze, już to opisałem w mojej odpowiedzi. :) Otwórz tryb widoku, naciśnij klawisz F4 dla heksadecymalnego i zamień dowolną zawartość w dowolnym pliku, bez względu na rozmiar.
user10635
och, masz rację. Tylko uwaga, że ​​w moim przypadku muszę wymienić długi ciąg (ciągi) i dlatego nie jest to dla mnie w porządku. Ale tak, ogólnie rzecz biorąc, jest to możliwe.
Andron
4

neditEdytora tekstu jest już od dłuższego czasu i jest bardzo zdolny. Może otworzyć plik tekstowy 1,9 Gb w około 20 sekund. Jest to podobny do systemu Windows interfejs graficzny ze wszystkimi standardowymi funkcjami edycji tekstu, których można się spodziewać, takimi jak podświetlanie składni, wcięcia, numerowanie linii i tak dalej.

Jeśli chcesz zmienić rozmiar okna, zrób to przed otwarciem dużego pliku. Motyw X11 jest nieco powolny przy zmianie rozmiaru, ale jest to również żądanie opodatkowania.

Jest we wszystkich standardowych repozytoriach, więc zainstaluj z:

sudo apt-get install nedit

Jest to oprogramowanie typu open source GPLv2.

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

Chodzę po plikach tekstowych 30-40 Mb i neditłatwo sobie z nimi radzę .

Marc Compere
źródło
3

Możesz otworzyć plik za pomocą hexedit. Będziesz jednak mógł jedynie zmieniać tekst, nie dodawać go ani usuwać.

ostrokach
źródło
2

Według tego artykułu w Wikipedii Porównanie edytorów tekstu VIM i innych. Chciałem zasugerować Geany, ale jest? w polu do obsługi dużych plików ...

EDYCJA: poszedłem naprzód i spróbowałem z geany i poddałem się po odczekaniu 10 minut z trzema rdzeniami zablokowanymi i właściwie całą moją pamięcią (wirtualną i fizyczną) używaną przez cały czas ... Nie rozstrzygające, ponieważ mogłoby to otworzyć, jeślibym byłam bardziej cierpliwa. Szukałem i nie znalazłem też żadnych ustawień / preferencji dotyczących obsługi dużych plików inaczej.

Najbardziej podoba mi się odpowiedź fred.bear.

głupkowaty głupiec
źródło
2

W systemie Windows masz TextPad, EditPad i EmEditor.

W Linuksie masz
kinezykę:
http://turtlewar.org/projects/editor/

oraz wiele edytorów szesnastkowych, takich jak:
bless
http://home.gna.org/bless/
lub
wxhexeditor
http://wxhexeditor.sourceforge.net/home.php

Wszystkie pozwalają na edycję bardzo dużych plików (nawet terabajtów) i możesz to zrobić z łatwością, bez konieczności dzielenia i ponownego łączenia pliku, który jest podatny na błędy i kłopotliwy.

skan
źródło
1

Dochodzimy do sytuacji, w której plik dziennika został zgromadzony do 6 GB i musimy wyszukiwać według daty lub ciągu. Niewielu dobrze znanych edytorów tekstowych mogłoby obsługiwać tak duży plik.

Znaleziono edytor JOE, który jest w stanie załadować mój plik o pojemności 6 GB w ciągu 2 minut i umożliwia przeglądanie pliku.

Wersja Windows (sourceforge.net)

Ubuntu (sourceforge.net)

praaveen
źródło
0

Pracuję z NetBeans : w tym kontekście jest lepszy niż Eclipse.

Wiem, że jest to dla programistów, ale możesz za jego pomocą otworzyć dowolny plik tekstowy.

Abdennour TOUMI
źródło
0

Emacs wykona zadanie (wcześniej edytowałem w nim pliki 10 + GiB), ale jest mniej więcej tak przyjazny dla nowego użytkownika jak vim, więc może nie zaspokoić twoich potrzeb. Krzywa uczenia się jest dość stroma.

Darael
źródło