Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Помогитье сделать find с параметром -prune

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [*nix/Linux] >> Помогитье сделать find с параметром -prune
Имя
Сообщение << Старые топики   Новые топики >>
Помогитье сделать find с параметром -prune - 2012-04-26 18:20:59.830000   
mr_Anderson

Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
Ищу файлы по содержимому.
Для этого нашёл в интернете такую строку:
find . -name "*" | while read i;do cat "$i"|grep -H –label="$i" -n "04.11.1972";done

Работает, ищет.

Хочется сделать пару ограничений:
1) не искать в файлах с некоторыми расширениями(например "*.sql" ,"*.tar")
2) не заходить в некоторые директории(например "webcache")

Для второй задачи пытался припахать параметр -prune, но словил ошибку
find: paths must precede еxprеssion: webcache


И ещё такой момент: во время поиска с помощью вышеуказанной команды, cat постоянно цепляется к директориям и заваливает сообщениями cat: ./директория_такаято: Is a directory. Как его заставить не реагировать на директории?
Post #: 1
RE: Помогитье сделать find с параметром -prune - 2012-04-27 02:11:53.780000   
jdam

Сообщений: 199
Оценки: -20
Присоединился: 2012-03-11 01:34:16.840000
grep -R -H -n –exclude=*.{sql,tar} –exclude-dir=webcache "text_to_search" *
Post #: 2
RE: Помогитье сделать find с параметром -prune - 2012-04-27 02:35:08.460000   
The Joker

Сообщений: 3485
Оценки: 99
Присоединился: 2008-10-07 16:22:13.730000

quote:

ORIGINAL: mr_Anderson

Как его заставить не реагировать на директории?
find -type f
Post #: 3
RE: Помогитье сделать find с параметром -prune - 2012-04-27 07:55:47.226666   
mr_Anderson

Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
Спасибо, люди добрые!!!
Всё работает!! :)
Post #: 4
RE: Помогитье сделать find с параметром -prune - 2012-04-27 10:28:33.830000   
mr_Anderson

Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
А вот ещё такой момент: при поиске командой grep не видно чем он занимается. Вся работа происходит в фоне, а потом выводится результат. Хотелось бы видеть онлайн - в каких директориях он в данный момент роется. Ну а результат поиска, если можно, перенаправить в файл.

И ещё бы ограничение на размер файлов поставить. Ну что бы он не лез в файлы, скажем, более 100 килобайт.

Post #: 5
RE: Помогитье сделать find с параметром -prune - 2012-04-29 01:52:12.873333   
jdam

Сообщений: 199
Оценки: -20
Присоединился: 2012-03-11 01:34:16.840000
#!/bin/bash IFS=$'\n' WISHED_SIZE=$(( 1024 * 100 )) #100KB LOGFILE=results file_handling() { if [[ -d $1 ]] then echo " \"$1\" is current directory" return 1 fi SIZE=`wc -c $1 | awk '{print $1}'` if [[ $SIZE -gt $WISHED_SIZE ]] then return 1 fi return 0 } for cur_file in `find . -name "*"` do if (file_handling $cur_file) #if file is good for grepping then grep -H -n --exclude=*.{sql,tar} --exclude-dir=webcache "text_to_search" $cur_file &gt;&gt; $LOGFILE fi done
Post #: 6
Страниц:  [1]
Все форумы >> [*nix/Linux] >> Помогитье сделать find с параметром -prune







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.