Czy otworzyć ogromny plik na komputerze Mac?

14

Chcę otworzyć ogromny plik tekstowy na moim komputerze Mac. Plik ma nieco ponad 10 gigów. Nie będę wdawał się w to, w jaki sposób został stworzony ani w jaki sposób z niego korzysta, ponieważ tak naprawdę nie ma to związku z pytaniem.

Czy są jakieś programy Mac, które pozwolą mi otworzyć tak ogromny plik, a może rozbić go na kawałki (powiedzmy 200 MB lub coś innego), które byłyby łatwiejsze do otwarcia indywidualnie.

Niekoniecznie muszę go edytować, wystarczy wyświetlić jego części. Wszystko, co próbowałem, Textmate, Vim itp. Wszystko (co zrozumiałe) bzdury lub zabrać na zawsze.

Korzystam również z systemów Windows i Linux, ale przenoszenie tak dużego pliku nie jest łatwe. Obecnie znajduje się na moim komputerze Mac i wolałbym nie mieć kłopotów z jego przenoszeniem.

Chris Salij
źródło
Podobne do superuser.com/questions/138474/… , ale to pytanie akceptuje również alternatywę podziału pliku
Doug Harris

Odpowiedzi:

16

split może to zrobić -

 split -b 200m [file]

podzieli plik na 200 MB fragmentów. Możesz podzielić na linie za pomocą -l

 split -l 1000 [file]

podzieli plik na 1000 fragmentów linii.

Jeśli to nie zadziała, istnieje naprawdę dobry edytor szesnastkowy dla komputerów Mac, Hex Fiend, który może otwierać ogromne pliki:

Pracuj z dużymi plikami. Hex Fiend potrafi obsłużyć tak duży plik, jaki jesteś w stanie stworzyć. Został przetestowany na plikach o wielkości do 118 GB.

Mam nadzieję, że to pomaga!

zredagowane
źródło
To jest Unix, więc musi działać. :)
maaartinus,
1
Hex Friend jest po prostu niesamowity !! Dziękuję bardzo za wzmiankę
lukaswelte
3

Czy wypróbowałeś którekolwiek z następujących narzędzi wiersza poleceń:

  • sedlub awk: edytory strumieniowe, ale czasami mogą wymagać złożonych wyrażeń, aby uzyskać pożądany wynik
  • split: dzieli pliki na bloki o określonej liczbie bajtów, linii itp.
  • csplit: dzieli plik na podstawie kontekstu podanego przez wyrażenie regularne

Jeden z nich splitlub csplitmoże wykonać tę pracę, w zależności od sposobu zarządzania wykorzystaniem pamięci. Sprawdź tę stronę, aby uzyskać więcej informacji na temat spliticsplit .

Aby uzyskać więcej informacji na temat tych narzędzi, wypróbuj swoją ulubioną wyszukiwarkę lub wpisz man <cmd-name>w wierszu polecenia w terminalu.

Jeśli możesz podać więcej informacji o tym, jak chcesz podzielić pliki, jestem pewien, że ktoś z fachową wiedzą na temat sed / awk lub wyrażeń regularnych mógłby pomóc.

dtlussier
źródło
2

Polecam sprawdzenie HexFienda - chociaż także edytor szesnastkowy odczytuje plik bezpośrednio z dysku twardego i nie próbuje załadować go do pamięci, jak większość innych edytorów tekstu. Jeśli chcesz ukryć część szesnastkową, odznacz „Szesnastkowy” z menu Widok.

Chealion
źródło
2

Inną opcją byłoby użycie wbudowanych poleceń „ głowa i ogon” .

Aby uzyskać pierwsze 1000 linii:

head -1000 hugefile

Aby uzyskać ostatnie 1000 linii:

tail -1000 hugefile

Lub uzyskać linie od 1 000 000 do 1 000 000:

head -1001000 hugefile | tail -1000

Może to jednak zająć sporo czasu.

Eric Darchis
źródło
Podoba mi się ta opcja. Gdybym tylko chciał wziąć kilka kawałków naraz. Nie odpowiada mi to teraz, ale z pewnością będę go używał w przyszłości :) Dzięki
Chris Salij
0

Potrzebuję mojej pracy do przeglądania dużych plików tekstowych i od lat szukam wszystkich alternatyw, chociaż tylko w systemie Windows.

Jedynym edytorem tekstów, jaki kiedykolwiek znalazłem, który naprawdę mógł efektywnie pracować na dużych plikach, jest V - The File Viewer .

Mimo że jest komercyjny, warto zapłacić 20 USD, jeśli trzeba często edytować takie pliki.
Jeśli potrzebujesz tylko wyświetlić jeden konkretny plik, ma on w pełni funkcjonalną wersję próbną.

Przeniesienie 10 GB przez sieć na komputer z systemem Windows nie powinno być nieznośnie powolne.

harrymc
źródło