Я хочу вытащить все mp3-файлы, которые случайно попали в папку flac, из них, в их родительскую папку.
Не должно иметь значения, насколько глубоки папки, Я просто хочу переместить соответствующие файлы ровно на один каталог вверх.
Вот как я выбираю свои файлы:
find . -path "*/flac/*" -name '*.mp3'
Это работает из моей музыкальной папки, но я застрял здесь. Все решения, которые я нашел, либо перемещают файлы в родительскую папку текущей папки, либо требуют некоторой фиксированной структуры.
Try:
find . -path "*/flac/*" -name '*.mp3' -execdir mv -t ../ {} +
find .
Запустить команду поиска, работающую с текущим каталогом.
-path "*/flac/*"
Выбрать только файлы с flac
в своем пути
-name '*.mp3'
Выбрать только файлы с расширение .mp3
.
-execdir mv -t ../ {} +
Для всех найденных файлов выполните команду mv
из каталога, в котором находится файл, и переместите файл в родительский каталог.
В дополнение к упрощению этой конкретной задачи, опция -execdir
также более безопасна, чем традиционная опция -exec
.
find . -path "*/flac/*.mp3" -execdir mv -t ../ {} +