( FILES="$(find /var/www/ -name '*.php' -exec grep include "{}" \; | \ awk -F'"' '{print $2}' | sort | uniq)" && \ echo "$FILES" && echo "$FILES" | \ while read FILE ; do \ find /var/www/ -name "$FILE"; \ done | \ sed -e 's/.*\/\(.\+\)$/\1/' ) | sort | uniq -u ; unset FILES
Вывод будет в таком духе:
common.php user.inc.phpТ.е. файлы common.php и user.inc.php упоминаются в диррективах include, но в каталоге /var/www/ и его подкаталогах их нет.
PS: Этот пример справедлив для PHP. Для других языков, в большинстве случаев, достаточно будет подправить подстроку
awk -F'"' '{print $2}'
Информация с сайта http://blog.angel2s2.ru/.
Комментариев нет:
Отправить комментарий