которая меняет название файла и выводит на экран с «now_720p_2014-05-19-18.12.01.784-FET_0.mp4» на «2014-05-19_18-12-01_now_720p_0.mp4».
Однако, вывод на экран меня не устраивает.
Подскажите пожалуйста, как можно добавить mv для полноценного переименовывания файла на диске?
Заранее спасибо за помощь.
А как выполнить полученный результат одновременно вместе с командой? пробовал убрать echo, но возникла ошибка:
[oleg@media ~]# find /opt/media/rec -maxdepth 1 -type f -name '*.mp4' -mmin +60 -exec basename {} \; | awk -F_ -v OFS="_" '{orig = $0; sub(/\.[^.]*$/,"",$3);$3=gensub(/-([^-]*$)/,"_\\1","g",$3);gsub(/\./,"-",$3);cmd = sprintf("mv %s %s_%s_%s_%s", orig, $3, $1, $2, $4); system(cmd)}'
mv: невозможно выполнить stat для «now_720p_2014-05-19-18.12.46.266-FET_0.mp4»: Нет такого файла или каталога
mv: невозможно выполнить stat для «now_aac_2014-05-19-18.12.05.572-FET_0.mp4»: Нет такого файла или каталога
mv: невозможно выполнить stat для «now_aac_2014-05-19-18.12.50.015-FET_0.mp4»: Нет такого файла или каталога
mv: невозможно выполнить stat для «now_720p_2014-05-19-18.12.01.784-FET_0.mp4»: Нет такого файла или каталога
mv: невозможно выполнить stat для «now_360p_2014-05-19-18.12.49.996-FET_0.mp4»: Нет такого файла или каталога
mv: невозможно выполнить stat для «now_360p_2014-05-19-18.12.05.567-FET_0.mp4»: Нет такого файла или каталога
спасибо! заработало!
basename используется из-за того, что awk неправильно переименовываем файлы (нужно править regex, а я до этого еще не дошел).
Результат
Если подскажите как избавиться от basename, буду очень признателен.
Если надо только один раз всё переименовать в /opt/media/rec, то не надо избавляться от basename, надо то сделать, что я выше написал. Если это надо делать часто, то тут нужно, наверное, «систему менять», возможно, перейти на rename, как sdio советует.
можно преобразовать чтобы менять все имена файлов в каталоге /dir1/dir2, с учетом того, что последний раз файл модифицировался более 3 часов назад ? (-mtime +180)
помимо переименовывания, необходимо из имени файла, например,
«now_360p_2014-05-20-15.26.15.898-FET_0.mp4»
преобрезовать чч.мм.сс.мсс на чч-мм-сс, удалить микросекунды и убрать слово FET
Нет, не знаю. если подскажите несколько грамотных ссылок, буду рад.
Тогда можно начать здесь: http://www.regular-expressions.info/ Несмотря на обилие рекламы (собственных продуктов автора), сайт толковый. Читай либо Quickstart, либо Tutorial. А практиковаться можно, взяв какой-нибудь текстовый редактор (например, Kate) и там выполняя поиск по регулярному выражению.