Я немного опоздал на вечеринку (я сам нашел эту страницу, когда искал ответ), но в случае, если это кому-то пригодится, вот слегка измененная версия, которая возвращает путь с именем файла (и ищетеще несколько типов файлов):
#!/bin/bash
if [ $# -eq 0 ]
then
echo "Please supply path to search under"
exit 1
fi
MYPATH=$1
find "$MYPATH" -name *.jpg > /tmp/patterns
find "$MYPATH" -name *.png >> /tmp/patterns
find "$MYPATH" -name *.gif >> /tmp/patterns
find "$MYPATH" -name *.js >> /tmp/patterns
find "$MYPATH" -name *.php >> /tmp/patterns
for p in $(cat /tmp/patterns); do
f=$(basename $p);
grep -R $f "$MYPATH" > /dev/null || echo $p;
done
Важно отметить, однако, что вы можете получить ложные срабатывания, просто посмотрев на код статически, как это, потому что код может динамически создавать имя файла, на которое затем ссылаются (и ожидается, что будет существовать).Поэтому, если вы слепо удаляете все файлы, чьи пути возвращаются этим сценарием, без каких-либо знаний о вашем проекте, вы можете пожалеть об этом.