Полезные команды Bash
Поиск всех CSS файлов с заменой найденной строки
Находит все css файлы рекурсивно от текущего каталога, заменяя в каждом один цвет на другой
find . -type f -name '*.css' -exec sed -i 's/#3ba4c2/#460D57/g' {} \;
Заменить параметр во всех php.ini от текущего каталога
Найдет все php.ini и заменит в них все значения func_overload=0 на =2
find . -name 'php.ini' -exec sed -i 's/func_overload=0/func_overload=2/g' "{}" \;
Иногда требуется поменять текст в нескольких видах файла рекурсивно. А «-name» для этого не подойдет.
find . -regex ".*\.\(php\|js\|css\)" -exec sed -i 's/\/bitrix\/templates\//\/local\/templates\//g' "{}" \;
Поиск всех изображений и копирование их с сохранением структуры
Найдет все картинки рекурсивно от текущего каталога и скопирует их сохраняя структуру каталогов в папку /tmp/backu
find . -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)" -print0 | xargs -0 cp --parents --target-directory ./tmp/backup
Замена exif во всех изображениях сайта.
find . -type f -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)" -size +1 -exec exiftool -Artist='Завод металлических дверей Медверь' -Copyright='МЕДВЕРЬ' -By-line='medver.ru' -Credit='Klondike-studio.ru' -title='Металлические двери Медверь' -Contact='http://medver.ru' '-xmp-xmprights:marked=1' {} \;
Удалить расширение файлов после find
На выходе получим список файлов без расширения, удобно можно подставлять для конвертирования файлов.
find . -regex ".*\.txt$" | sed 's/\.txt//g'
Создаем каталог если он отсутствует
Если каталог есть и мы пытаемся его создать, возвращается код ошибки 2, при данной проверки ошибки не будет.
test ! -d mkdir /mnt/klondike3 && { mkdir -p mkdir /mnt/klondike3 ; }
Архивируем сайт
В текущем каталоге запускаем архивацию, в архив попадут .htaccess, но исключатся все файлы находящиеся в папке./bitrix/backup
time zip -r -0 archive0.zip . -x ./bitrix/backup\* -x archive*.zip
Смена прав на файлы и каталоги
Используя xargs вместо -exec мы ускоряем процесс почти в 100 раз!
ttime find . -type f | xargs chmod 644 && find . -type d | xargs chmod 755
Оставить комментарий