Ответ 1
Перейдите в папку веб-сайта, затем запустите
zip -R foo '*.php' '*.html' '*.js' '*.css'
Вы также можете запустить это из-за пределов папки веб-сайта:
zip -r foo website_folder -i '*.php' '*.html' '*.js' '*.css'
Я застрял в небольшой проблеме командной строки unix.
У меня есть папка сайта (4gb) Мне нужно захватить копию, но только файлы .php,.html,.js и .css(что составляет всего пару сотен килобайт).
Я думаю, что в идеале есть способ сделать zip или tar целой папкой, но только захватить определенные расширения файлов, сохраняя при этом структуры подпапок. Возможно ли это, и если да, то как?
Я попытался сделать весь почтовый индекс, а затем пропустил и исключил определенные файлы, но это показалось немного чрезмерным.
Я новичок в unix.
Будем очень благодарны за любые идеи.
Перейдите в папку веб-сайта, затем запустите
zip -R foo '*.php' '*.html' '*.js' '*.css'
Вы также можете запустить это из-за пределов папки веб-сайта:
zip -r foo website_folder -i '*.php' '*.html' '*.js' '*.css'
Вы можете использовать find
и grep
для создания списка файлов, а затем передать это в zip
например.
find . | egrep "\.(html|css|js|php)$" | zip [email protected] test.zip
([email protected]
указывает zip читать список файлов из stdin)
Вот как мне это удалось, но мне также нравится версия ghostdog74.
tar -czvf archive.tgz `find test/ | egrep ".*\.html|.*\.php"`
Вы можете добавить дополнительные расширения, добавив их в регулярное выражение.
Мне понравился ответ Ник, но, поскольку это сайт программирования, почему бы не использовать Ant для этого.:)
Затем вы можете ввести параметр, чтобы можно было зашифровать различные типы файлов.
вы можете использовать find (GNU), чтобы найти все ваши файлы php, html и т.д. Затем выполните их настройку
find /path -type f \( -iname "*.php" -o -iname "*.css" -o -iname "*.js" -o -iname "*.ext" \) -exec tar -r --file=test.tar "{}" +;
после этого вы можете закрепить его
Вы можете написать оболочку script для копирования файлов на основе шаблона/выражения в новую папку, zip-содержимое и удаление папки. Теперь, что касается фактического синтаксиса, то оставьте это вам: D.