Wygenerowałem wordlist.txt11 GB przez crunch-3.6. Kiedy próbuję otworzyć plik za pomocą Vi lub gedit, mam problemy z powodu rozmiaru pliku. Jak mogę wyświetlić ten plik?
Wygenerowałem wordlist.txt11 GB przez crunch-3.6. Kiedy próbuję otworzyć plik za pomocą Vi lub gedit, mam problemy z powodu rozmiaru pliku. Jak mogę wyświetlić ten plik?
Odpowiedzi:
Nie używaj edytora tekstu do przeglądania tekstu.
Istnieją lepsze narzędzia:
Przeglądaj pliki za pomocą less(Przewijaj spacją, End, Home, PageUp, PageDown; Szukaj za pomocą „/ coś”; Wyjdź za pomocą q).
Z lessinstrukcji:
Less nie musi czytać całego pliku wejściowego przed uruchomieniem, więc przy dużych plikach wejściowych uruchamia się szybciej niż edytory tekstu, takie jak vi (1).
Stosowanie:
less wordlist.txt
Rozważ użycie less -n:
-n lub --line-numbers:
Pomija numery linii. Domyślne (użycie numerów linii) może powodować, że less działa w niektórych przypadkach wolniej, szczególnie przy bardzo dużym pliku wejściowym. Pomijanie numerów linii z
-nopcją pozwoli uniknąć tego problemu.
(dzięki za sugestię opcji -n @pipe)
Użyj, grepaby uzyskać tylko te linie, które Cię interesują:
# Show all Lines beginning with A:
grep "^A:" wordlist.txt
# Show all Lines ending with x and use less for better viewing
grep "x$" wordlist.txt | less
Użyj headlub, tailaby uzyskać pierwszą lub ostatnią n linii
head wordlist.txt
tail -n 200 wordlist.txt
Aby edytować tekst, zapoznaj się z tym pytaniem .
morezaładuje cały plik do pamięci, w przeciwieństwie do less. Jeśli jest tak duży, odradzałbym go używać. Najlepszą opcją byłoby zdecydowanie użycie grep.
morei lesskodu źródłowego, i oba wydają się skorzystać z jednej openlub fopen, co nie zmienia niczego w odniesieniu do sposobu plik zostanie załadowany, o ile wiem
morejest bardzo przestarzałym narzędziem, jeśli lessjest dostępne, nie myślę o żadnym celu, dla którego chcesz go użyć more.
morema jedną ogromną przewagę nad less: nie obsługuje LESSOPENpreprocesora wejściowego. Jeśli próbujesz wyświetlić nieprzetworzony tekst strony podręcznika lub czegoś takiego, pisanie jest znacznie szybsze more my_docs.manniż przeglądanie lessdokumentacji, aby dowiedzieć się, jak wyłączyć preprocesor.
less -nSprzypadku dużych plików, aby trochę przyspieszyć.
Często wystarczy „grep”, aby znaleźć to, czego potrzebujesz.
Jeśli potrzebujesz więcej „kontekstu” wokół określonej linii, użyj „grep -n”, aby znaleźć numery linii interesujących linii, a następnie użyj sed, aby wydrukować „fragment” pliku wokół tej linii:
$ grep -n 'word' file
123:A line with with word in it
$ sed -n '120,125p' file
A line
Another line
The line before
A line with with word in it
The line after
Something else
grep -Bi -A drukować linie B efore i A fter ...
-Co C przystojniak (zarówno przed, jak i po nim).