Показать полную графическую версию : Поиск файлов по тексту.
Belansky
01-06-2003, 08:39
Пробовал вчера найти важную для меня информацию, которую не помню, куда запихнул, используя сочетание команд find и grep и утилиту поиска в mc. При указании в качестве строки поиска русского слова, поиск заканчивался ничем. При указании слова с латиницей, результат бал положительным. Вопрос: неумение искать файлы по русскому тексту общий недостаток, или у меня что-то не настроено, или не так искал?
Barracuda
01-06-2003, 15:31
Belansky
Скорее общий, т.к. поисковая байда может принять символы кириллицы за непечатные символы и пропускать их.
Попробуй так:
find / -type f -print | xargs grep <"что искать">
Belansky
01-06-2003, 16:38
Спасибо, попробую. А имеется ли возможность поиска информации по тексту в архивных файлах?
Barracuda
01-06-2003, 17:18
Belansky
Стандартно - нет. Но можно скриптик написать. Я как-то делал, но не закончил - влом было.
Belansky
01-06-2003, 21:50
Barracuda
Спасибо огромное! Ваш совет помог, но только с файлами, содержащими текст в koi8-r. Там, где текст в cp-1251 или cp-866 поиск по-прежнему ни к чему не приводит.
Исправлено: Belansky, 22:56 1-06-2003
Barracuda
01-06-2003, 22:09
Belansky
Ессно, он же символы по кодам одни (в КОИ) ищет, а в файле - другие (CP1251).
ruslandh
01-06-2003, 22:56
Belansky
У меня в Master 2.2 mc ищет русские буквы
Исправлено: ruslandh, 0:06 2-06-2003
У меня в Master 2.2 mc ищет русские буквы
а кои - нерусские :) ?
может, все же итщет те же русские, что в локали?
ruslandh
02-06-2003, 07:08
mar
Ну для этого случая можно временно и локаль поменять. (В смысле Вы правы.) :oszone:
Belansky
02-06-2003, 09:15
Хорошо, попробую временно изменять настройки локали.
Кстати в агривах можно так попробовать
bzip2 -dkc | find....
Belansky
02-06-2003, 14:52
Zur0
И это попробуем.
Там, где текст в cp-1251 или cp-866 поиск по-прежнему ни к чему не приводит.
...попробовать прикрутить переконвертацию на лету через iconv...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.