Удалите файлы, которые не начинаются с «Builder» - PullRequest
0 голосов
/ 04 ноября 2011

Мне нужно обновить проект на моем веб-сервере.К сожалению, другие уже изменили некоторые файлы на сервере, которые я не хочу перезаписывать.Я могу безопасно перезаписать все файлы, начинающиеся с «Builder» (например, «BuilderUser.php» или «BuilderTemplate.php»).

Моя идея состояла в том, чтобы скопировать локальный каталог и удалить все файлы, которые не начинаютсяс помощью "Builder", а затем загрузите полученную папку.И я использую OS X. Есть ли способ удалить все файлы, которые не имеют префикс «Builder»?

1 Ответ

1 голос
/ 04 ноября 2011

Откройте терминал, перейдите к корню вашего проекта и введите

find . -type f | grep -v '/Builder[^/]*' | xargs rm

find, чтобы напечатать что-нибудь в . или подкаталогах, из -type f, что означает обычные файлы (в отличие отблочные устройства, символические ссылки, каталоги и т. д.).grep напечатает любую строку, которая (из-за -v) не соответствует шаблону.Для шаблона / обозначает каталог, «Builder» должен быть первым, что появляется после каталога (то есть в имени файла), [^/] означает любой символ, кроме / (разделитель каталогов) и * означает любое количество последнего элемента (без слешей).xargs затем берет файлы из канала и передает их в качестве аргументов rm.

Обратите внимание, что это будет работать только с файлами без пробелов в имени.Если вам нужен тот, который обрабатывает пробелы, опубликуйте или найдите опции с разделением нулями на страницах руководства.

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