Автоматически переименовывать файлы до даты (ГГ-ММ-ДД)

У меня есть псевдоним оболочки для macOS с именем preview, который может (1 )отображать встроенное изображение(-iили --inlineпараметр ), либо из стандартного ввода, либо по указанному пути к файлу (s )и (2 )просто откройте изображение в приложении Apple Preview (без каких-либо параметров ), последнее также либо из стандартного ввода, либо из пути к файлу (s ), например:

cat image.jpg | preview

preview -i image.png

Встроенное отображение работает только с псевдонимом iTerm imgcat, поэтому вам необходимо установить, запустить и использовать iTerm на переднем плане. Но previewпроверяет, правда ли все это.

Онлайн здесь:https://github.com/JayBrown/Tools/blob/master/Aliases/preview

0
06.09.2019, 03:38
2 ответа

Нам может понадобиться информация о том, какое программное обеспечение вы используете для записи, а затем о том, как они размещаются в каталоге.

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

Если все это принадлежит третьей стороне, у вас, скорее всего, будет возможность использовать только опции программного обеспечения, которое в первую очередь генерирует файлы mp3.В этом случае вы хотите изучить документацию по этому программному обеспечению, может ли она использовать системные переменные, например. дата/время/час/что-то подобное интегрировано его разработчиками в параметры, которые позволяют вам определить выходной файл.

В противном случае вы можете проверить, можно ли изменить программное обеспечение, которое загружает все зарегистрированные файлы в этот каталог, чтобы оно распознавало только файлы, соответствующие определенному шаблону именования.

После этого вы можете использовать inotify-toolsдля просмотра каталога и создания сценария для переименования входящих новых файлов, читая теги метаданных mp3-файлов, используя ffmpeg.

Надеюсь, это поможет.

0
28.01.2020, 02:39

Чтобы переименовать один файл:

mv test.mp3 "rec-$(date -r test.mp3 '+%Y-%m-%d.mp3')"

Это использует отметку времени файла, чтобы переименовать его в rec-YYYY-MM-DD.mp3. rec-можно удалить, но IMO стоит того, потому что он предоставляет больше информации о том, что представляет собой файл , чем просто дату. Или используйте другой префикс, если хотите.

Чтобы переименовать все файлы.mp3 в каталоге, который еще не был переименован:

cd /path/to/directory
for f in *.mp3; do
  if [[ ! "$f" =~ ^rec-[0-9]{4}-[0-9]{2}-[0-9]{2}\.mp3$ ]] ; then
    mv "$f" "rec-$(date -r "$f" '+%Y-%m-%d.mp3')"
  fi
done

Кстати, вам, вероятно, следует настроить программное обеспечение для записи на использование определенного и отличительного шаблона имени файла (, например. Test-nnnn.mp3), чтобы избежать переименования других файлов.mp3. то есть for f in Test-*.mp3намного более конкретен, чем for f in *.mp3. Или просто заставьте его хранить записи в каталоге, который больше ни для чего не используется.

1
28.01.2020, 02:39

Теги

Похожие вопросы