Archive

Posts Tagged ‘find’

find

December 9th, 2008

Вывести все лог-файлы время последнего доступа к которым больше 25 дней:

find /var/log/ -name "*.log" -atime +25d -print

удалить

find /var/log/ -name "*.log" -atime +25d -delete

найти файлы с определенным содержимым

find /home/domains/ -name "*" -exec grep -H "3C696672616D65207" {} \; | awk -F":" '{print $1}'

Найти и заменить во всех файлах определенного типа один текст на другой:
FreeBSD

#!/bin/sh
for i in `find /usr/home/admin -name "*.html" -exec grep -H "first text" {} \; | awk -F":" '{print $1}' | xargs`; do sed -i '' 's/first text/second text/g' $i; done

Linux

#!/bin/sh
for i in `find /usr/home/admin -name "*.html" -exec grep -H "first text" {} \; | awk -F":" '{print $1}' | xargs`; do sed -i  's/first text/second text/g' $i; done

Найти и заменить определенный файл на другой во всех подпапках:

find /folder-where-search -name "oldfile.name" -exec cp /newfile.name {} \;

Обнулить определенные файлы:

#!/bin/sh
for FILE in `find /home/LOGS/ERRORS -name "*apache" -print 2> /dev/null`
do
    echo 1 > $FILE
done

Найти все измененные за день PHP файлы и отправить уведомление:

find /usr/local/www/ -name "*.php" -mtime -1 -print |grep -v cache |mail -s "Modified PHP Files" mail@domain.com >/dev/null 2>&1

Найти и удалить все файлы с размером 0:

find /some/path/ -size 0 -delete

FreeBSD