четверг, 26 апреля 2012 г.

Поиск отсутствующих файлов, упомянутых в include

( 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/.

Комментариев нет:

Отправить комментарий