Попытайтесь выполнить его на экранной сессии. Или даже попробуйте другую конструкцию. Я верю, находят + sed, будет работать лучше затем чистый удар:
find images/ -name "*.jpg" | sed 's%^[^_]*_[^_]*_\([0-9][0-9][0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\).*%mkdir -p "/home/username/sorted/\1/\2/\3/\4" \&\& mv "&" "/home/username/sorted/\1/\2/\3/\4/"%'
Это должно только показать, как sed делают команды для выполнения. Добавление e
после в последний раз %
вызовет выполнение команды:
find images/ -name "*.jpg" | sed 's%^[^_]*_[^_]*_\([0-9][0-9][0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\).*%mkdir -p "/home/username/sorted/\1/\2/\3/\4" \&\& mv "&" "/home/username/sorted/\1/\2/\3/\4/"%e'
PS. Вы не должны использовать в ударе
day=$(echo $fullyear |cut -c7-8)
Bash может сделать это само без echo | cut
:
day=${fullyear:6:2}
Попытайтесь выполнить команду rpm -Uvh --test /Downloads/crontabs-1.10-33.el6.noarch.rpm
сначала, чтобы видеть, сообщает ли это о чем-либо необычном. Если не затем делают обновление этого пакета вместо установки.
Я полагаю, что это жалуется, потому что этот каталог уже существует, но это неясно кого. На моих полях CentOS 6 этот каталог показывает как принадлежавший пакету cronie
.
$ rpm -qf /etc/cron.d
cronie-1.4.4-7.el6.x86_64
Когда я смотрю на содержание crontabs
пакет я вижу следующее содержание:
$ repoquery -l crontabs
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
/etc/crontab
/usr/bin/run-parts
/usr/share/man/man4/crontabs.4.gz
Уведомление там нет /etc/cron.d
. При выполнении следующей команды однако, Вы будете видеть это crontabs
требует следующих ресурсов:
$ rpm -qp --requires crontabs-1.10-33.el6.noarch.rpm
/bin/bash
/etc/cron.d
config(crontabs) = 1.10-33.el6
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
cronie
пакетТаким образом, это - то, куда требование прибывает из. Я выполнил бы следующую команду, чтобы подтвердить что пакет cronie
правильно установлен:
$ rpm -V cronie --verbose
......... /etc/cron.d
......... /etc/cron.d/0hourly
......... c /etc/cron.deny
......... c /etc/pam.d/crond
......... /etc/rc.d/init.d/crond
......... c /etc/sysconfig/crond
......... /usr/bin/crontab
......... /usr/sbin/crond
......... /usr/share/doc/cronie-1.4.4
......... d /usr/share/doc/cronie-1.4.4/AUTHORS
......... d /usr/share/doc/cronie-1.4.4/COPYING
......... d /usr/share/doc/cronie-1.4.4/ChangeLog
......... d /usr/share/doc/cronie-1.4.4/INSTALL
......... d /usr/share/doc/cronie-1.4.4/README
......... d /usr/share/man/man1/crontab.1.gz
......... d /usr/share/man/man5/crontab.5.gz
......... d /usr/share/man/man8/cron.8.gz
......... d /usr/share/man/man8/crond.8.gz
......... /var/spool/cron
Если у Вас есть установочный диск, можно хотеть попытаться сделать восстановление, если диск обеспечивает ту функцию. Или, можно попытаться установить все пакеты крона от установочного диска.
scp
crontabs файл к Вашему удаленному серверу. – slm♦ 17.06.2013, 23:08