Мне нужно удалить все не php файлы с сервера Linux или загрузить их - PullRequest
2 голосов
/ 17 марта 2012

У меня есть тысячи файлов, возможно, сотни тысяч файлов на сервере Linux, и они находятся в каталогах и подкаталогах -

Все файлы находятся в / home / sas / httpdocs -

Я хочу получить копию всего каталога только с файлами php, но сохраняя ту же структуру каталогов -

У меня есть два варианта:

либо удалить ВСЕ из неФайлы php, затем архивируйте его и скачайте -

Или просто извлеките только все файлы php в новый каталог, но сохраняя ту же структуру каталогов -

Любые идеи о том, как это сделать?

Сас

Ответы [ 3 ]

1 голос
/ 17 марта 2012

Можно использовать rsync:

rsync -av --include "*/" --include "*.php" --exclude "*" /home/sas/httpdocs/. /copy/dir/
1 голос
/ 17 марта 2012

Это скопирует только php файлы в отдельный каталог

cd /home/sas/httpdocs
tar -cf - `find . -name "*.php" -print` | ( cd /destination_dir && tar xBf - )

Ther - еще один метод удаления не-php файлов. Вот оно, подробно изящно

https://superuser.com/questions/168130/unix-delete-files-and-folders-excluding-pattern

0 голосов
/ 17 марта 2012

Для удаления файла, который не заканчивается на .php:

find /dir -type f ! -name "*.php" -print

Если вы довольны результатом, замените -print на -delete.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...