Самый быстрый редактор / пейджер для текстового поиска

У меня есть текстовый файл объемом 4,6 ГБ, который мне нужен для поиска.

Удивительно, но grep работает довольно быстро, но мне нужно иметь возможность прокручивать файл после поиска определенного текста.

Меньше, как правило, мой инструмент выбора, но он медленный как патока для этого.

Какой пейджер и / или редактор лучше всего подойдут для файла размером 4,6 ГБ? У моего ноутбука всего 16 ГБ ОЗУ, поэтому он должен быть несколько эффективнее при использовании ОЗУ.

2 ответа

Удивительно, но grep работает довольно быстро, но мне нужно иметь возможность прокручивать файл после поиска определенного текста.

Может быть, использовать grep варианты показать контекст вокруг найденной записи?

Context control:
-B, --before-context=NUM  print NUM lines of leading context
-A, --after-context=NUM   print NUM lines of trailing context
-C, --context=NUM         print NUM lines of output context

С 1,5 ГБ файлом Vim у меня работает. Текстовый поиск несуществующей строки, т. Е. По всему файлу, занял 10-15 секунд. на моем ноутбуке. Обратите внимание, что vim полностью загружает файл в память. Вероятно, не проблема для вас с 16 ГБ ОЗУ.

Но у меня есть это в моем ~/.vimrc (к сожалению, не помню первоисточник):

" changes to open really big files
let g:LargeFile = 1024 * 1024 * 10
augroup LargeFile 
 autocmd BufReadPre * let f=getfsize(expand("<afile>")) | if f > g:LargeFile || f == -2 | call LargeFile() | endif
augroup END

function LargeFile()
 " no syntax highlighting etc
 set eventignore+=FileType
 " save memory when other file is viewed
 setlocal bufhidden=unload
 " is read-only (write with :w new_filename)
 setlocal buftype=nowrite
 " no undo possible
 setlocal undolevels=-1
 " display message
 autocmd VimEnter *  echo "The file is larger than " . (g:LargeFile / 1024 / 1024) . " MB, so some options are changed (see .vimrc for details)."
endfunction

Вас также может заинтересовать аналогичный вопрос на другом сайте SE, потому что может быть больше хитростей. Например, я вижу, что кто-то советует плагин vim специально для больших файлов - никогда не пробовал этот.

Другие вопросы по тегам