Помогитье сделать find с параметром -prune
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Помогитье сделать 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. Как его заставить не реагировать на директории?
|
|
|
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" *
|
|
|
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
|
|
|
RE: Помогитье сделать find с параметром -prune - 2012-04-27 07:55:47.226666
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Спасибо, люди добрые!!! Всё работает!! :)
|
|
|
RE: Помогитье сделать find с параметром -prune - 2012-04-27 10:28:33.830000
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
А вот ещё такой момент: при поиске командой grep не видно чем он занимается. Вся работа происходит в фоне, а потом выводится результат. Хотелось бы видеть онлайн - в каких директориях он в данный момент роется. Ну а результат поиска, если можно, перенаправить в файл. И ещё бы ограничение на размер файлов поставить. Ну что бы он не лез в файлы, скажем, более 100 килобайт.
|
|
|
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 >> $LOGFILE
fi
done
|
|
|
|
|