jano

Рейтинг
169
Регистрация
06.07.2011

Может кто подскажет, как реализовать это в скрипте??

Вбиваешь пути и скрипт меняет одно значение на другое по расширениям файлов (html,php)

Алла Рудь:
Это также рабочий вариант, все верно. Задачу можно решить несколькими путями.

Может подскажешь скрипт, где вбиваешь пути и происходит замена?

Вообщем правильно будет так:

grep -rl --include=*.html --include=*.php 'auto' ./ | xargs sed -i 's/auto/disable/g'

sholomitcky:
grep -rl 'auto' ./ | xargs sed -i 's/auto/disable/g'
?

А как указать расширения в каких файлах заменять код (*.php,*.html)?

Спасибо, а может есть какой-нибудь скрипт в котором просто указывает дериктории?

---------- Post added 01-10-2015 at 10:41 ----------

sholomitcky:
grep -rl 'auto' ./ | xargs sed -i 's/auto/disable/g'
?

Никак не могу понять, где нужно указывать расширения поиска? *.html и *.php

---------- Post added 01-10-2015 at 11:09 ----------

sholomitcky:
grep -rl 'auto' ./ | xargs sed -i 's/auto/disable/g'
?

find -name '*html*' -exec grep -rl 'auto' ./ | xargs sed -i 's/auto/disable/g'

Такая команда почему-то не работает и как указать 2 расширения php и html тоже

Пишет

find: missing argument to `-exec'

sed: no input files

---------- Post added 01-10-2015 at 11:43 ----------

Вообщем правильно будет так:

grep -rl --include=*.html --include=*.php 'auto' ./ | xargs sed -i 's/auto/disable/g'

baas:
либо так, но все равно по требуются рута привелегии. ))
crontab -u root -l

Либо  /etc/crontab

Либо тут посотмри.
/var/spool/cron/crontabs/

Скажи пожалуйста, а как будет правильно добавить задание в крон

v-add-cron-job USER MIN HOUR DAY MONTH WDAY COMMAND [JOB] [RESTART]

v-add-cron-job admin 0 1 0 0 /bin/rm -rf /home/path/* restart

Всё правильно?

baas:
укажи рекурсивное удаление.
rm -rf
Добавьте полный путь до бинарника rm.
либо укажите в кронтаб
SHELL=/bin/sh

PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

У меня система FreeBSD, пути могут быть другие.
Попробуй так.
* 1 * * * /bin/rm -rf /home/path/*

А как в centos запустить крон от рута?

Добавляю команды в etc/crontab

Смотрю crontab -u root -l

Нет ни одной команды

Вот какой будет код:


<?
$domains = explode('.', $_SERVER['HTTP_HOST']);
$subdomain = str_replace('-', ' ', $domains[0]);
echo $subdomain
?>
Х.З.:
лишние переменные не нужны, проще сразу echo $domains[0];

А если в домене есть знак "-" как вместо него вывести "пробел"?

Т.е. если есть название домена your-domain.com выводило your domain, а не your-domain

---------- Post added 23-09-2015 at 16:41 ----------


$domains = explode('.', $_SERVER['HTTP_HOST']);
$subdomain = $domains[0];
echo $subdomain

Что нужно добавить сюда, что бы вывести название без дефиса?

Polkan:
i=0; for file in *.jpg; do let i=i+1; mv "$file" "$i.jpg"; done

Как-то не так работает строчка из 500k файлов, переименовала по порядку не все.

И постоянно выводит сообщения типа этого:

mv: overwrite `10.jpg'?

---------- Post added 16-09-2015 at 12:33 ----------

Отвечаю на свой же вопрос.

Здесь: http://stackoverflow.com/questions/880467/renaming-a-set-of-files-to-001-002-on-linux отличный скрипт массовой переименовки. numerate.sh

Polkan:
i=0; for file in *.jpg; do let i=i+1; mv "$file" "$i.jpg"; done

Скажи пожалуйста, а как будет изначально сначала переименовать файлы к примеру вконце дописать какой-нибудь знак вместо 233.jpg - 233W.jpg, а потом уже делать пронумеровку от 1 до ***

Ато при пронумеровке файлов - постоянно спрашивает о замене, т.к. названия цифровые уже есть такие.

Т.е. получается, что перед тем, как менять названия файлов пронумеровкой - нужно немного изменить названия - дописав к примеру по букве.

Всего: 424