Поиск в файлах

Вопрос о том, как найти подстроку или строку в файле, поднимается часто и найти на него ответ довольно просто. Так, например, можно искать сторонний код во взломанных файлах:

find . -name "*.*htm*" -exec grep -i "iframe" {} \; -print
find . -name "*.*htm*" -exec grep -i "iframe" '{}' \; -print
find /home -name '*.htm*' -exec grep -H 'fromCharCode' \{\} \;

Так можно удалить из очереди postfix письма с определенным текстом (спам-рассылку, например):

find /var/spool/postfix/deferred/ -name "*" -exec grep -i "SOMESPAM" {} \; |\
awk -F / '{print $7}' | awk '{print $1}' | postsuper -d -

А как найти файлы, в которых определенная строка не встречается?

Можно так:

find . -name "*.html" -print0 | xargs -0 grep -c "string" | grep ":0" | cut -d : -f 1

где “string” – строка, которой в файлах нет.

cut просто отрезает имя файла от количества нулевых вхождений подстроки “string”, если кому-то по душе awk, используйте в пайпе:

awk -F : '{print $1}'

Теги: , , , , , , , , ,

Поиск в документах

Ни для кого не секрет, что поиск по файлам (документам) в стандартной функциональности проводника MS Windows – испытание не для слабонервных. Особенно, если у вас большое множество всяких разных документов. Альтернативным инструментом может выступать поиск документов от Google в программе Google Desktop.

Если же вы не являетесь сторонником проприетарного ПО или ПО с закрытым исходным кодом, для вас есть хорошая замена – DocFetcher.

DocFetcher

Программа DocFetcher умеет индексировать документы, а также использовать множество параметров, таких как включение/исключение поисковых терминов с помощью символов +/-, поиск метаданных, использование шаблонов (wildcard) и указание расширений файлов, в которых производить поиск.

Поддерживаемые платформы: MS Windows, Linux


Теги: , , , , , , , , , , , ,

Google на свзязи

Свзязь


Теги: , , ,