Представлен (http://permalink.gmane.org/gmane.comp.gnu.grep.bugs/5154) новый выпуск популярной утилиты для организации поиска данных в текстовых файлах - GNU Grep 2.17. Наиболее существенным улучшением является проведение заметной оптимизации производительности. Кроме того, в выпуске grep 2.17 прекращена поддержка опции "--mmap", которая давно была переведена в категорию устаревших.
При использовании многобайтовых локалей поиск без учёта регистра через "grep -i" по простому шаблону, не содержащему символов '\' и '[', теперь выполняется в десять раз быстрее. Поиск с учётом регистра (без опции "-i") для многобайтовых локалей в новом выпуске выполняется в семь раз быстрее при наличии в тексте большого числа совпадений.URL: http://permalink.gmane.org/gmane.comp.gnu.grep.bugs/5154
Новость: http://www.opennet.me/opennews/art.shtml?num=39119
Вместо grep есть mc, между прочим.
а как mc в скриптах использовать?
В mc работают скрипты.
> В mc работают скрипты.Слабаки же, то ли дело в имаксе!
Да. Зачем mc, когда есть dired mode? =)
> Зачем mc, когда есть dired mode? =)В mc при правильной настройке переход между каталогами мгновенен.
Например.
Я в корне. Набираю u - курсор перемещается к usr, нажимаю enter - вхожу внутрь. Нажимаю s, затем h - курсор на share, нажимаю enter - захожу, нажимаю o, p - курсор на openssh, нажимаю стрелку вниз - на openttd, надимую ентер - я в /usr/share/openttd.
Итого 9 нажатий: u<enter>sh<enter>op<down><enter>, причём результат каждого я вижу визуально, взгяд не скачет между минибуффером внизу экрана и основным буффером, окна не меняют постоянно размеры.
Можно такое сделать в dired mode? Без всяких <C-c><C-t><C-M-g>cd<enter>/us<tab>sh<tab>op<tab>t<tab><enter> ?
Может, я не правильно пытаюсь использовать dired-mode? Тогда как правильно? Очень хотелось бы перейти на имакс, т.к. нравится идея расширения (редактора?) лиспом, однако абсолютная антиэргономика (по сравнению с тем же vim/luakit) просто отталкивает (про ErgoEmacs в курсе).
Под антиэргономикой понимаю:
- рукодробительные сочетания клавиш (вимовское "o" проще чем "C-e C-j", вимовское "u" удобнее чем "C-x u" а "uuu" удобнее, чем "C-x u C-x u C-x u", кроме того вим по "u" отменяет результат последней вставки (например, целое слово), а имакс - только изменение последней буквы, так что быстрее удалить слово, чем отменить его ввод),
- ужасное поведение окон (не знаю, как объяснить, но когда пытаюсь пользоваться справкой, такое ощущение что новые окна открываются, (изменяя удобную мне геометрию текущих), когда этого не ждёшь, а когда вроде бы ожидаешь, что справка откроется в новом окне, она открывается в этом же, с кодом, скрывая код, и после чтения приходится переключаться обратно по C-x b),
- заумные алгоритмы выравнивания кода в стандартном c-mode (скорее всего, можно настроить как хочется, но блин почему нормаль^Wобычные редакторы делают отступ по отступу предыдущей строки, а имаксу для правильного отступа необходимо понимать синтаксис редактируемого файла),
- тормоза местами (иногда при открытии C-файла первый ввод символа приводит к подвисанию на 5-10 секунд, затем всё становится хорошо).
> В mc при правильной настройке переход между каталогами мгновенен.и как вы это сделали и почему этого нет в моём mc ?
> > В mc при правильной настройке переход между каталогами мгновенен.
> и как вы это сделали и почему этого нет в моём mc ?Отключил в настройках layout строку для ввода команд (кажется, настройка называется "Command prompt"). Всё равно для полноценной работы с командной строкой необходимо предварительно нажимать C-o (чтобы видеть вывод команд хотя бы), так что строка снизу лично мне оказалась не нужна, а в свете ускорения перехода по каталогам даже и вредна.
> Всё равно для полноценной работы с командной строкой необходимо предварительно
> нажимать C-o (чтобы видеть вывод команд хотя бы)а ещё есть такая классная настроечка: f9->options->configuration->pause after run->always. прикинь. и ctrl+o жать не надо, и вывод команд никуда не девается.
> и ctrl+o жать не надо, и вывод команд никуда не девается.Автодополнение в этом Command prompt работает? История команд? В mc 4.5 у меня были какие-то неудобства с этой строкой (не помню уже какие), с тех пор мне проще работать в двух режимах - shell-режим (C-o) и режим перехода по каталогам (панели).
>> и ctrl+o жать не надо, и вывод команд никуда не девается.
> Автодополнение в этом Command prompt работает?работает. не идеальным образом, но работает.
> История команд?
всегда работала. правда, аналога ctrl+r нет.
> В mc 4.5 у меня были какие-то неудобства с этой строкой
наверняка «оболочка занята какой-то фигнёй, извините, ничего не могу». сейчас это не то, чтобы починили, но сильно лучше замаскировали.
> наверняка «оболочка занята какой-то фигнёй, извините, ничего не могу». сейчас
> это не то, чтобы починили, но сильно лучше замаскировали.:) и это тоже. но в основном проблема была в том, что при неаккуратной работе с клавиатурой (например, для выхода из редактора при нажатии Esc F10 вместо Esc Esc), в этой строке оказывался мусор типа ^[ или ^[A и т.д. и его приходилось бэкспейсом удалять вручную... мне проще чётко разграничивать режим перехода по каталогам/редактирования файлов и режим работы с командной строкой.
а, это мелочи всё. хотя я бы не отказался от режима «активировать ввод в комстроку по хоткею», конечно. точнее, переключателя «активна/неактивна» и настройки, оставлять ли активной после выполнения команды. но самому пилить лень.
> В mc при правильной настройке переход между каталогами мгновенен.cd /usr/bin в sh — мгновенно.
alt+c, /usr/bin, enter в mc — ыыыыызвините, я задууууууумалось.да, кстати.
cd /u/s/op, tab — опа! волшебно наблюдаю команду cd /usr/share/openttd. zsh рулит, да.
> cd /usr/bin в sh — мгновенно.
> alt+c, /usr/bin, enter в mc — ыыыыызвините, я задууууууумалось.Ну, изначально сравнивалось с dired-mode, а не с sh. Хотя в sh после ввода первых букв каждого каталога надо таб нажимать, а то и дважда.
> да, кстати.
> cd /u/s/op, tab — опа! волшебно наблюдаю команду cd /usr/share/openttd. zsh рулит,
> да.По сравнению с этим в mc я после каждого нажатия вижу визуальный фидбек, здесь же я ввожу в слепую "/u/s/op" (да, если я точно знаю, куда хочу попасть, это приемлемо). Кроме того, после tab оно с таким же успехом может отобразить и /usr/share/openssh или (тут уже не уверен, т.к. это файл) /usr/sbin/openssh.
>> cd /usr/bin в sh — мгновенно.
>> alt+c, /usr/bin, enter в mc — ыыыыызвините, я задууууууумалось.
> Ну, изначально сравнивалось с dired-mode, а не с sh.а я в данном случае про «мгновенно». с «мгновенно» у mc большиииие проблемы. он делает stat() каждому файлу в каталоге, а это операция небыстрая. причём без stat() не обойдёшься, потому что другого способа надёжно узнать, каталог ли нечто или файл — нет.
> По сравнению с этим в mc я после каждого нажатия вижу визуальный
> фидбек, здесь же я ввожу в слепую «/u/s/op» (да, если я
> точно знаю, куда хочу попасть, это приемлемо). Кроме того, после tab
> оно с таким же успехом может отобразить и /usr/share/openssh или (тут
> уже не уверен, т.к. это файл) /usr/sbin/openssh.я привёл пример как у тебя — с буквами «op». и нет: не может, оно вежливо спросит, чего барин желает, если вариантов больше одного. это zsh, он очень крут. и мозгов сообразить, что в cd мне файлы не нужны, ему тоже хватит.
> с «мгновенно» у mc большиииие проблемы. он делает stat() каждому файлу в каталоге, а это операция небыстрая.Кстати, в ext4 и ext3, смонтированных через модуль ext4, отключение предвыборок (опция inode_readahead_blks=0) при монтировании файловой системы сильно ускоряет процесс. Но это так, просто к слову пришлось...
это-то я и так отрываю, вместе с идиотским журналом. но у меня куча jfs ещё.
> Вместо grep есть mc, между прочим.А так же awk, sed, sh, bash, tcsh, zsh, perl, python, c, php, java ...
> в семь раз быстрее при наличии в тексте большого числа совпадений.Греп с опережением времени?
А неправославный ack круче будет? Или grep уже также быстр?
ack быстрее grep?... у вас либо grep неправильный ... либо ack :)
Да и вообще -- завязывай с грибами :)