Я створив a wordlist.txt
11 Гб за рік crunch-3.6
. Коли я намагаюся відкрити файл за допомогою Vi або gedit, у мене виникають проблеми через розмір файлу. Як я можу переглянути цей файл?
Я створив a wordlist.txt
11 Гб за рік crunch-3.6
. Коли я намагаюся відкрити файл за допомогою Vi або gedit, у мене виникають проблеми через розмір файлу. Як я можу переглянути цей файл?
Відповіді:
Не використовуйте текстовий редактор для перегляду тексту.
Є кращі інструменти:
Переглядайте файли за допомогою less
(Прокрутіть пробіл, Кінець, Домашня сторінка, PageUp, PageDown; Пошук за допомогою "/ щось"; Залиште з q).
З less
посібника:
Менше не потрібно читати весь вхідний файл перед запуском, тому з великими вхідними файлами він запускається швидше, ніж текстові редактори типу vi (1).
Використання:
less wordlist.txt
Розглянемо використання less -n
:
-n або - рядкові числа:
Пригнічує номери рядків. За замовчуванням (використовувати номери рядків) у деяких випадках може спричинятись повільніше запуск, особливо з дуже великим вхідним файлом. Придушення номерів рядків за допомогою
-n
параметра дозволить уникнути цієї проблеми.
(дякую за пропозицію -n варіант @pipe)
Використовуйте, grep
щоб отримати лише ті рядки, які вас цікавлять:
# 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
Використовуйте head
або, tail
щоб отримати перший або останній n рядків
head wordlist.txt
tail -n 200 wordlist.txt
Для редагування тексту зверніться до цього питання .
more
буде завантажено весь файл у пам'ять, на відміну від less
. Якщо він такий великий, я б радив не використовувати його. Найкращим варіантом, безумовно, було б користуватися grep
.
more
і less
вихідний код, і обидва, здається, використовують або open
або fopen
, що нічого не змінює щодо завантаження файлу, наскільки я знаю
more
це дуже застаріла утиліта, якщо less
вона доступна, я не думаю про будь-яку причину, яку б ви використовували more
.
more
має величезну перевагу перед less
: він не підтримує LESSOPEN
вхідний препроцесор. Якщо ви намагаєтеся переглянути непророблений текст чоловічої сторінки чи щось подібне, набрати текст набагато швидше, more my_docs.man
ніж викопати less
документацію, щоб зрозуміти, як придушити препроцесор.
less -nS
величезних файлів, щоб трохи прискорити роботу.
Часто достатньо просто «грепа», щоб знайти те, що потрібно.
Якщо навколо певного рядка вам потрібно більше "контексту", тоді використовуйте "grep -n", щоб знайти номери рядків, що цікавлять, а потім використовуйте sed, щоб роздрукувати "фрагмент" файлу навколо цього рядка:
$ 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 -B
та -A
друкувати рядки B efore та A fter ...
-C
для групи C (і до, і після).